簡體   English   中英

熊貓高效檢查列是否在其他列中包含字符串

[英]Pandas efficient check if column contains string in other column

我正在嘗試獲取一個布爾值索引,以確定一列是否包含另一列中同一行的字符串:

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM