Python 如何确定一列的元素是否在另一列中?
我有一个名为df的数据框架,我想知道列项是否包含元素a和c 输入: 在新列contain_a中,1表示列项包含元素a,这与列contain_c相同 预期: 试一试 或者,您可以循环执行: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
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