我的数据框如下所示
0 1 2 3 4
0 0.660377 0.75 0.728395 1.000000 0.011364
1 0.452830 0.50 0.629630 0.083333 0.045455
2 0.971698 0.75 0.975309 0.166667 0.079545
3 0.169811 0.25 0.172840 0.291667 0.068182
4 0.216981 0.25 0.222222 0.000000 0.090909
5 0.669811 0.50 0.839506 0.333333 0.045455
我需要用它的倒数值替换第一列。在 Pandas 中有没有内置的方法来做到这一点?
最佳答案
我认为你需要除以 1
:
df[0] = 1 / df[0]
print (df)
0 1 2 3 4
0 1.514287 0.75 0.728395 1.000000 0.011364
1 2.208334 0.50 0.629630 0.083333 0.045455
2 1.029126 0.75 0.975309 0.166667 0.079545
3 5.888900 0.25 0.172840 0.291667 0.068182
4 4.608698 0.25 0.222222 0.000000 0.090909
5 1.492958 0.50 0.839506 0.333333 0.045455
或者使用DataFrame.rdiv
:
df[0] = df[0].rdiv(1)
print (df)
0 1 2 3 4
0 1.514287 0.75 0.728395 1.000000 0.011364
1 2.208334 0.50 0.629630 0.083333 0.045455
2 1.029126 0.75 0.975309 0.166667 0.079545
3 5.888900 0.25 0.172840 0.291667 0.068182
4 4.608698 0.25 0.222222 0.000000 0.090909
5 1.492958 0.50 0.839506 0.333333 0.045455
或者使用numpy.reciprocal
:
df[0] = np.reciprocal(df[0])
print (df)
0 1 2 3 4
0 1.514287 0.75 0.728395 1.000000 0.011364
1 2.208334 0.50 0.629630 0.083333 0.045455
2 1.029126 0.75 0.975309 0.166667 0.079545
3 5.888900 0.25 0.172840 0.291667 0.068182
4 4.608698 0.25 0.222222 0.000000 0.090909
5 1.492958 0.50 0.839506 0.333333 0.045455
关于python - Pandas Dataframe - 用倒数替换列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47388334/