【发布时间】:2017-10-20 23:58:35
【问题描述】:
有两个 Pandas 数据集
csv1 = pandas.read_csv('test1')
csv2 = pandas.read_csv('test2')
如何显示csv1 的所有行,其中str1 字段不是csv2 的str2 字段的任何行的子字符串?
注意:我尝试使用contains,但它的参数pat 似乎应该是一个字符串,而不是一列字符串。
例子:
#csv1
id str1
1 abc
2 def
3 ghi
4 xyz
#csv2
data1 str2
69236 pghiww
9623 habcrv
6152 de
那么输出应该是:
id str1
2 def
4 xyz
确实,第 2 行和第 4 行的 str1 字段不包含在 csv2 的 str2 的任何行中。
【问题讨论】:
-
另一种方式更容易
df2[~df2.str2.str.contains("|".join(df1.str1))]。这是一个有趣的问题! -
@Basj,如果您需要澄清我的回答,请告诉我。