我尝试运行一个代码,在其中浏览 pandas 数据框中的一列,如下所示:
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
关于python - Pandas:检查和更改列中的所有项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59161303/