问题描述
我想与python中的每一列进行比较。
例如:
没有 | 姓名 | name_convert | 包含 |
---|---|---|---|
0 | 苹果 | 苹果 | 真的 |
1 | 苹果 | 草莓 | 错误 |
2 | 香蕉奶昔 | 香蕉 | 真的 |
3 | 香蕉奶昔 | 香蕉 | 真的 |
我想创建 contains
列。它定义了每列(name
与 name_convert
)的比较结果。 applepie (in name
) 包含 apple(in name_convert
) 字符串。
如果 name_convert
是 name
的子字符串,我如何创建包含 True 的新列?
这是我的尝试:
data['contains'] = data['name'].isin(data['name_convert'])
解决方法
您可以使用 list comprehension
和 zip
函数:
df['contains']=[i in j for i,j in zip(df['name_convert'],df['name'])]
: df
Out[10]:
no. name name_convert contains
0 0 applepie apple True
1 1 applepie strawberry False
2 2 bananashake banana True
3 3 bananashake banana True