我试图运行一个代码,我穿过熊猫数据框中的一列,如下所示:
for item in df['delta']:
if float(item) < 0:
print(item)
每当我检测到值低于0的项目时,我都想添加1,000,000并将结果放回数据框中。
我尝试了类似的东西:
df['delta'][item] = float(item) + 1000000
但是然后我得到一个关键错误。
如何访问for循环的当前位置?
最佳答案
假设你有
df = pd.DataFrame({'col_1': [0,1,2,3,4,5,-1,-2,-3]})
col_1
0 0
1 1
2 2
3 3
4 4
5 5
6 -1
7 -2
8 -3
您只需使用
loc
和+=
运算符即可df.loc[df['col_1'] < 0, 'col_1'] += 10
col_1
0 0
1 1
2 2
3 3
4 4
5 5
6 9
7 8
8 7