Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.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 检查列是否包含其他列中的字符串_Python_Pandas - Fatal编程技术网

Python 检查列是否包含其他列中的字符串

Python 检查列是否包含其他列中的字符串,python,pandas,Python,Pandas,我正在尝试获取一个布尔索引,以确定一列是否包含另一列中同一行的字符串: a b boop beep bop zorp zorpfoo zip foo zip fa 在检查列b是否包含字符串时,我想得到: [False, True, True] 现在我正在尝试这种方法,但速度很慢: df.apply(lambda row: row['a'] in row['b'], axis=1) 是否有.str方法用于此?df.apply(…,axis=1)非常慢!你应该避免使用它

我正在尝试获取一个布尔索引,以确定一列是否包含另一列中同一行的字符串:

a      b
boop   beep bop
zorp   zorpfoo
zip    foo zip fa
在检查列b是否包含字符串时,我想得到:

[False, True, True]
现在我正在尝试这种方法,但速度很慢:

df.apply(lambda row: row['a'] in row['b'], axis=1)
是否有.str方法用于此?

df.apply(…,axis=1)非常慢!你应该避免使用它!
from random import sample
from string import lowercase
from pandas import DataFrame

df = DataFrame({
    'a': map(lambda x: ''.join(sample(lowercase, 2)), range(100000)),
    'b': map(lambda x: ''.join(sample(lowercase, 5)), range(100000))
})

%time map(lambda (x, y): x in y, zip(df['a'], df['b']))

%time df.apply(lambda x: x[0] in x[1], axis=1)