【发布时间】:2021-04-14 14:37:17
【问题描述】:
我正在尝试用 0 的值替换我的数据框中的所有值(对于特定列)< 0 。
我已经尝试过这段代码,但它似乎对我不起作用:
df.loc[df[['col_1','col_2','col_3']] < 0, 'col_1','col_2','col_3'] = 0
使用这行代码时,出现以下错误:
AttributeError: 'int' object has no attribute 'loc'
我不确定是否是我正在使用的代码阻止我完成我想做的事情。
因此,有人能指出我正确的方向吗?
谢谢 - 请参阅下面的示例数据和预期输出。
样本数据:
col_1 col_2 col_3
--------------------------
4 5 -1
-3 -4 5
2 -2 2
预期结果:
col_1 col_2 col_3
--------------------------
4 5 0
0 0 5
2 0 2
【问题讨论】:
-
当
df.loc[...]给你“'int' 对象没有属性'loc'”时,这意味着df在代码运行时是一个int。你检查过df吗?