如何检查一列是否包含特定单词并创建新列(1或0)

时间:2019-04-02 15:01:56

标签: pandas

我的数据框是这样的:

`id` `text`
1     Hello world how are you
2     Hello people I am fine
3     Good Morning
4     Good Evening

我想检查该列是否包含“良好”。如果是这样,我想创建一个包含1的新列,如下所示:

`id` `text`                         c1
1     Hello world how are you       0
2     Hello people I am fine        0 
3     Good Morning                  1
4     Good Evening                  1

1 个答案:

答案 0 :(得分:3)

我稍微更改了您的输入,其中包含一些单词的一部分与“ Good”匹配,在这种情况下,str.contains('Good')将失败

df
Out[120]: 
   id                    text  
0   1       Goodbye my friend         
1   2  Hello people I am fine         
2   3            Good Morning         
3   4            Good Evening     

df.text.str.contains(r'\bGood\b') # if needed add na=False
Out[121]: 
0    False
1    False
2     True
3     True
Name: text, dtype: bool

对于anky_91答案

df.text.str.contains('Good',na=False)
Out[122]: 
0     True
1    False
2     True
3     True
Name: text, dtype: bool