Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在dataframe中对子字符串关系使用布尔索引?_Python_Pandas_Indexing - Fatal编程技术网

Python 如何在dataframe中对子字符串关系使用布尔索引?

Python 如何在dataframe中对子字符串关系使用布尔索引?,python,pandas,indexing,Python,Pandas,Indexing,我试图计算数据帧中哪些字符串是给定字符串的子字符串。我不想使用列表或循环,但希望使用简洁的内部语法来实现这一点 我就是无法让逻辑发挥作用。这就是我所拥有的: import pandas given = 'abcdef' df = pandas.DataFrame(['abc', 'cde', 'aaa'],columns=['A']) matches = df[(df.A in given)] 我想要的是df的子帧,它只包含满足布尔条件的条目。我不能那么难。。。但我似乎无法正确地使用它。

我试图计算数据帧中哪些字符串是给定字符串的子字符串。我不想使用列表或循环,但希望使用简洁的内部语法来实现这一点

我就是无法让逻辑发挥作用。这就是我所拥有的:

import pandas

given = 'abcdef'

df = pandas.DataFrame(['abc', 'cde', 'aaa'],columns=['A'])

matches = df[(df.A in given)]
我想要的是
df
的子帧,它只包含满足布尔条件的条目。我不能那么难。。。但我似乎无法正确地使用它。

您可以使用。范例-

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

显然,
df.A
不是字符串。。。这就是问题所在。但是什么是蟒蛇式和熊猫式的表达方式呢?