相当于numpy where函数在熊猫中

时间:2020-05-26 08:22:55

标签: python pandas numpy

这是我的问题,我有两列如下:

 A   B
-3   4
-6  -8
12  14

我想创建一个代码,如果值> -2则将所有值替换为1,否则将其替换为0。

我知道使用numpy可以很简单地使用 d["newcolum"]=np.where(d < -2,1,0),但我在使用熊猫方面遇到了更多困难,因为熊猫的where函数仅在不满足条件的情况下显示其值。

你们知道一些可以帮助我的东西吗? 谢谢

1 个答案:

答案 0 :(得分:1)

如果要设置01值,则将布尔掩码转换为整数:

df = (df < -2).astype(int)
print (df)
   A  B
0  1  0
1  1  1
2  0  0

绝对可以使用np.where,仅需要DataFrame构造函数:

df = pd.DataFrame(np.where(df < -2,1,0), index=df.index, columns=df.columns)
print (df)
   A  B
0  1  0
1  1  1
2  0  0