Python 过滤行';s';值并分配一个二进制变量

Python 过滤行';s';值并分配一个二进制变量,python,pandas,Python,Pandas,如果您能帮助我理解如何将标签1指定给满足以下条件的行,我将不胜感激: 如果Word列包含Amber或Light或Yellow,则1 else0 我试过如下方法 df[(df.Word=='Amber') & (df.Word=='Light') & (df.Word=='Yellow') ]['IND'] = 1 but it does not work 您有一个问题是链片分配 修复你的代码 df['IND'] = 0 df.loc[df['Word'].isin(['Am

如果您能帮助我理解如何将标签1指定给满足以下条件的行,我将不胜感激:

  • 如果
    Word
    列包含
    Amber
    Light
    Yellow
    ,则
    1
  • else
    0
我试过如下方法

df[(df.Word=='Amber') & (df.Word=='Light') & (df.Word=='Yellow') ]['IND'] = 1 but it does not work

您有一个问题是链片分配 修复你的代码

df['IND'] = 0
df.loc[df['Word'].isin(['Amber','Light', 'Yellow']),'IND'] = 1
不管我们通常怎么做

df['IND'] = np.where(df['Word'].isin(['Amber','Light', 'Yellow']), 1 ,0 )


谢谢你,本尤。我发现你的回答很好,也很有用。
df['IND'] = df['Word'].isin(['Amber','Light', 'Yellow']).astype(int)