繁体   English   中英

pandas dataframe 检查列是否包含存在于另一列中的字符串

[英]pandas dataframe check if column contains string that exists in another column

我正在尝试了解 Dataframes,但我仍然是初学者。 假设我有一个包含两列的 DataFrame:

Name       Description
Am         Owner of Am
BQ         Employee at BQ  
JW         Employee somewhere

我想检查名称是否也是描述的一部分,如果是,请保留该行。 如果不是,请删除该行。 在这种情况下,它将删除第 3 行(某处的 JW Employee)

尝试这个:

df[df.apply(lambda x: x['Name'] in x['Description'], axis = 1)]
s='|'.join(df.Name)#Join the search words into a pattern
df=df[df.Description.str.contains(s)]#Mask using boolean select
print (df)

 Name     Description
0   Am     Owner of Am
1   BQ  Employee at BQ


%%timeit
s='|'.join(df.Name)
df[df.Description.str.contains(s)]
537 µs ± 2.37 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

%timeit df[df.apply(lambda x: x['Name'] in x['Description'], axis = 1)]
1.27 ms ± 3.22 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM