我正在以防止python发出警告错误的方式进行以下计算:
我的表具有以下一行示例数据设置:
a b c d e f g
5 2 4 3 1 2 5
df ['d'] =((df ['d'] / df ['c']))* 100
如您所见,我正在寻找用新计算出的数字覆盖列“ xxx”。我可以像上面一样做到这一点,但是python建议使用loc,但我无法正确获取语法。
我要寻找(3/4)* 100 = 750
a b c d e f g
5 2 4 750 1 2 5
有人能帮忙吗?
我用.iloc解决了这个问题。
我在这里重新创建了您的数据框-
import numpy as np
import pandas as pd
data = {'a':[5,2],'b':[2,3],'c':[4,4],'d':[3,5],'e':[1,2],'f':[2,3],'g':[5,6]}
df = pd.DataFrame(data)
df
a b c d e f g
0 5 2 4 3 1 2 5
1 2 3 4 5 2 3 6
这里是部门-
df['d'] = ((df.iloc[:,3]/df.iloc[:,2]))*100
df
a b c d e f g
0 5 2 4 75.0 1 2 5
1 2 3 4 125.0 2 3 6
我希望这能解决您的问题