How to determine if a column contains certain elements in pandas

前端 未结 1 633
情歌与酒
情歌与酒 2021-01-26 23:46

I want to check if the column app contains the element of myList.

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


        
相关标签:
1条回答
  • 2021-01-27 00:28

    Use str.get_dummies for all indicator columns and then filter them by reindex by list:

    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
    

    Or use loop with str.contains and casting boolean mask to integers:

    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
    
    0 讨论(0)
提交回复
热议问题