Bla*_*t83 4 python string filter pandas
我有一个与 pandas 相关的问题:我需要根据列中包含(或不包含)的子字符串来过滤列(大约 40k 条目)。该列中的每个条目基本上都是一个很长的属性(文本)列表,我需要能够单独过滤它们。这行代码可以工作,但不可扩展(我有数百个必须过滤的属性):
df[df['Product Lev 1'].str.contains('W1 Rough wood', na=False) & df['Product Lev 1'].str.contains('W1.2', na=False)]
Run Code Online (Sandbox Code Playgroud)
是否有可能插入我必须过滤的所有项目并将其作为列表传递?或者任何类似的解决方案?
谢谢你!
小智 6
像这样:
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)]
Run Code Online (Sandbox Code Playgroud)