【发布时间】:2015-09-02 04:23:18
【问题描述】:
我有一个带有两列字符串的 pandas 数据框。我想识别第一列 (s1) 中的字符串出现在第二列 (s2) 中的字符串中的所有行。
如果我的专栏是:
abc abcd*ef_gh
z1y xxyyzz
我想保留第一行,而不是第二行。
我能想到的唯一方法是:
- 遍历数据框行
- 使用
s1的内容作为匹配模式将df.str.contains()应用到s2
有没有一种不需要遍历行的方法来完成这项工作?
【问题讨论】:
-
我认为您目前无法以矢量化方式做到这一点
-
@EdChum 不完全是,可以使用
numpy.char.find()进行简单匹配,如果不涉及re。 -
如果你有一个非常大的数据集,你可以看看Dask。