我想检查一下该列是否app
包含元素myList
.
import pandas as pd
df=pd.DataFrame({'app':['a,b,c','e,f']})
myList=['b', 'f']
print(df)
Output:
app
0 a,b,c
1 e,f
Expected:
app contains_b contains_f
0 a,b,c 1 0
1 e,f 0 1
Use str.get_dummies对于所有指标列,然后按以下条件过滤它们reindex按列表:
df = df.join(df['app'].str.get_dummies(',').reindex(columns=myList).add_prefix('contains_'))
print (df)
app contains_b contains_f
0 a,b,c 1 0
1 e,f 0 1
或者使用循环str.contains并将布尔掩码转换为整数:
for c in myList:
df[f'contains_{c}'] = df['app'].str.contains(c).astype(int)
print (df)
app contains_b contains_f
0 a,b,c 1 0
1 e,f 0 1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)