我试图运行一个代码,我穿过熊猫数据框中的一列,如下所示:

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

07-24 09:44
查看更多