[英]python pandas if column string contains word flag
I want to add a flag to my python pandas dataframe df, if an entry in the column Title
contains the word test
(upper or lower case or all Uppercase), I would like to add T
in a new column test
. 我想在我的python pandas dataframe df中添加一个标志,如果Title
列中的条目包含单词test
(大写或小写或全部大写),我想在新的列test
添加T
This gives me an error and does not account for all uppercase scenarios: 这给我一个错误,并不能解决所有大写情况:
df['Test_Flag'] = np.where(df[df['Title'].str.contains("test|Test")==True], 'T', '')
ValueError: Length of values does not match length of index
You need contains
with parameter case=False
and na=False
: 您需要contains
参数case=False
和na=False
:
df['Test_Flag'] = np.where(df['Title'].str.contains("test", case=False, na=False), 'T', '')
Sample: 样品:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.