取一个样本数据集:
df = pd.DataFrame([['Mexico', 'Chile'], ['Nicaragua', 'Nica'], ['Colombia', 'Mex']], columns = ["col1", "col2"])
数据框如下所示:
我有两列。我想检查第二列中的值是否存在于第一列中。这包括检查部分字符串。
所需的输出是:
我能够比较第二列中每一行的整个值,但这不能解释部分字符串:
df['compare'] = np.where(df['col2'].isin(df['col1']), 'yes', 'no')
我还能够检查列中是否存在单个值,该值检查部分字符串,但不包括'col2'列中的每一行。
df['compare'] = df['col1'].str.contains('Mex')
如何同时执行两项操作?
这看起来像一个昂贵的操作。你可以试试:
df['col2'].apply(lambda x: 'Yes' if df['col1'].str.contains(x).any() else 'No')
输出:
0 No
1 Yes
2 Yes
Name: col2, dtype: object
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句