如何在数据帧中添加新列时应用 'And' 和 'Or' 等条件语句?



我想以以下方式向我的Data框架添加一个新列:

df['new']= np.where(df['code']== 0 or 1, 1, 0 )

在这里,当code列中的值为0或1时,我想将值1分配给'new'列。它给出了一个错误。但是如果我只使用了一个条件,语句就可以工作。

下面的语句可以工作:

df['new']= np.where(df['code']== 0, 1, 0 )

在为新列赋值时如何使用这两个条件?

尝试:

df["new"] = np.where(df["code"].isin([0,1]), 1, 0)

您不必使用np.where,使用布尔掩码并将其转换为int:

df['new'] = df['code'].isin([0, 1]).astype(int)

的例子:

>>> df
code
0    2
1    3
2    0
3    3
4    1
>>> df['new'] = df['code'].isin([0, 1]).astype(int)
>>> df
code  new
0    2    0
1    3    0
2    0    1
3    3    0
4    1    1

df['new'] = df['code'].isin([0,1])*1
df['new']= np.where((df['code']== 0) | (df['code']== 1), 1 , 0)

相关内容

  • 没有找到相关文章

最新更新