Skip to main content
 首页 » 编程设计

python之如何确定一列是否包含 Pandas 中的某些元素

2025年05月04日13mfrbuaa

我想检查 app 列是否包含 myList 的元素。

import pandas as pd  
df=pd.DataFrame({'app':['a,b,c','e,f']}) 
myList=['b', 'f'] 
print(df) 

输出:

     app 
0  a,b,c 
1    e,f 

预期:

     app  contains_b  contains_f 
0  a,b,c          1           0 
1    e,f          0           1 

请您参考如下方法:

使用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 循环并将 bool 掩码转换为整数:

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