我正在尝试计算 pandas 数据框中的哪些字符串是给定字符串的子字符串。我不想使用列表或循环,但想使用简洁的 pandas 内部语法来完成此任务。
我就是无法让逻辑发挥作用。这就是我所拥有的:
import pandas
given = 'abcdef'
df = pandas.DataFrame(['abc', 'cde', 'aaa'],columns=['A'])
matches = df[(df.A in given)]
我想要的是 df
的子帧,仅包含满足 bool 条件的条目。我不可能那么努力...但我似乎无法做到正确。
最佳答案
您可以使用Series.apply
。示例-
df[df['A'].apply(lambda x: x in given)]
演示 -
In [22]: df = pandas.DataFrame(['abc', 'cde', 'aaa'],columns=['A'])
In [23]: given = 'abcdef'
In [24]: df[df['A'].apply(lambda x: x in given)]
Out[24]:
A
0 abc
1 cde
关于python - 如何在 pandas 数据框中使用 bool 索引来表示子字符串关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32911884/