Python 如何确定一列的元素是否在另一列中?

Python 如何确定一列的元素是否在另一列中?,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个名为df的数据框架,我想知道列项是否包含元素a和c 输入: 在新列contain_a中,1表示列项包含元素a,这与列contain_c相同 预期: 试一试 或者,您可以循环执行: to_check = ['a','c'] for i in to_check: df[f'contains_{i}'] = df.item.str.contains(i).astype(int) 试一试 或者,您可以循环执行: to_check = ['a','c'] for i in to_ch

我有一个名为df的数据框架,我想知道列项是否包含元素a和c

输入:

在新列contain_a中,1表示列项包含元素a,这与列contain_c相同

预期:

试一试

或者,您可以循环执行:

to_check = ['a','c']

for i in to_check:
    df[f'contains_{i}'] = df.item.str.contains(i).astype(int)
试一试

或者,您可以循环执行:

to_check = ['a','c']

for i in to_check:
    df[f'contains_{i}'] = df.item.str.contains(i).astype(int)

要实现此目的,可以使用指定分隔符

df.item.str.get_dummies(',').add_prefix('contains_')


    contains_a  contains_b  contains_c  contains_d  contains_e
0   1           1           1           0           0
1   0           0           1           1           1
2   1           1           0           0           0

要实现此目的,可以使用指定分隔符

df.item.str.get_dummies(',').add_prefix('contains_')


    contains_a  contains_b  contains_c  contains_d  contains_e
0   1           1           1           0           0
1   0           0           1           1           1
2   1           1           0           0           0
pandas.Series.str.findall pandas.Series.str.findall
to_check = ['a','c']

for i in to_check:
    df[f'contains_{i}'] = df.item.str.contains(i).astype(int)
df.item.str.get_dummies(',').add_prefix('contains_')


    contains_a  contains_b  contains_c  contains_d  contains_e
0   1           1           1           0           0
1   0           0           1           1           1
2   1           1           0           0           0
df.join(
    df.item.str.findall('(a|c)')
           .str.join('|')
           .str.get_dummies().add_prefix('contains_')
)

   id   item  contains_a  contains_c
0   1  a,b,c           1           1
1   2  c,d,e           0           1
2   3    a,b           1           0