【发布时间】:2017-12-12 07:00:36
【问题描述】:
我有以下操作来添加一个状态,显示一个数据框列的列中的任何字符串存在于另一个数据框的指定列中。它看起来像这样:
df_one['Status'] = np.where(df_one.A.isin(df_two.A), 'Matched','Unmatched')
如果字符串大小写不同,这将不匹配。是否可以在不区分大小写的情况下执行此操作?
另外,当 df_one.A 中的值以 df_two.A 中的完整字符串结尾时,是否可能返回“匹配”?例如df_one.A abcdefghijkl -> df_two.A ijkl = '匹配'
【问题讨论】:
-
通常你会为此使用 str.casefold 但我猜它没有矢量化版本。相反,您可以尝试
df_one['A'].str.lower().isin(df_two['A'].str.lower())