繁体   English   中英

将列表传递给 str.contains - Pandas

[英]Pass a list to str.contains - Pandas

我有一个与熊猫相关的问题:我需要根据列中包含(或不包含)的子字符串过滤一列(大约 40k 个条目)。 该列中的每个条目基本上都是一个非常长的属性(文本)列表,我需要能够单独过滤这些属性(文本)。 这行代码有效,但不可扩展(我必须过滤数百个属性):

df[df['Product Lev 1'].str.contains('W1 Rough wood', na=False) & df['Product Lev 1'].str.contains('W1.2', na=False)]

是否有可能插入我必须过滤的所有项目并将其作为列表传递? 或任何类似的解决方案?

谢谢你!

像这样:

data = {'col_1': [3, 2, 1, 0], 'col_2': ['aaaaDB', 'bbbbbbCB', 'cccccEB', 'ddddddUB']}
df=pd.DataFrame.from_dict(data)
lst = ['DB','CB']  #replace with your list
rstr = '|'.join(lst)
df[df['col_2'].str.upper().str.contains(rstr)]

暂无
暂无

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

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