检查在熊猫数据框中是否存在确切的字符串

时间:2019-05-25 11:50:52

标签: python pandas

我在熊猫中有以下数据框

 code        skills  
 12          sql, r, hadoop
 13          python
 14          r, matlab
 15          ruby, python

我想标记1和0,在其中我发现想要的数据帧是r的确切位置。

 code        skills             r  
 12          sql, r, hadoop     1   
 13          python             0
 14          r, matlab          1
 15          ruby, python       0

我正在熊猫后面追随

 df['r'] = df['skills'].eq(' r,').astype(int)

2 个答案:

答案 0 :(得分:5)

您可以使用一些regex来完成此任务。

pattern = '(?:, r)|(?:r,)'

df['r'] = df.skills.str.contains(pattern).astype(int)

   code          skills  r
0    12  sql, r, hadoop  1
1    13          python  0
2    14       r, matlab  1
3    15    ruby, python  0

答案 1 :(得分:1)

使用apply只是另一个选择):

df['r']=df.skills.str.split(',').apply(lambda x: 'r' in map(str.strip, x)).astype(int)
print(df)

   code          skills  r
0    12  sql, r, hadoop  1
1    13          python  0
2    14       r, matlab  1
3    15    ruby, python  0