如果列字符串包含单词标志,则为python pandas

时间:2017-03-27 19:38:57

标签: python string pandas numpy

我想在我的python pandas dataframe df中添加一个标志,如果Title列中的条目包含单词test(大写或小写或全部为大写),我想添加新列T中的test

这给了我一个错误,并没有考虑所有大写情况:

df['Test_Flag'] = np.where(df[df['Title'].str.contains("test|Test")==True], 'T', '')

ValueError: Length of values does not match length of index

1 个答案:

答案 0 :(得分:2)

您需要contains参数case=Falsena=False

df['Test_Flag'] = np.where(df['Title'].str.contains("test", case=False, na=False), 'T', '')

样品:

df = pd.DataFrame({'Title':['test','Test',np.nan, 'a']})
df['Test_Flag'] = np.where(df['Title'].str.contains("test", case=False, na=False), 'T', '')
print (df)
  Title Test_Flag
0  test         T
1  Test         T
2   NaN          
3     a