如何在Pandas DataFrame中查找值为长字符串子串的行?有无内置函数?
用Pandas内置方法实现子串匹配筛选
构造目标DataFrame
首先创建你提到的DataFrame:
import pandas as pd df = pd.DataFrame([['aaa'], ['aab'], ['aac'], ['aad']], columns=['col'])
筛选符合条件的单元格
不需要手动循环,直接用Pandas的apply()方法结合Python的in运算符就能完成:
target_str = 'aaabbb' # 生成布尔掩码,判断每个单元格值是否是target_str的子串 mask = df['col'].apply(lambda x: x in target_str) # 筛选出符合条件的行 filtered_df = df[mask]
运行后得到的filtered_df就是目标结果:
col 0 aaa 1 aab
更简洁的写法
也可以把逻辑合并为一行:
filtered_df = df[df['col'].apply(lambda x: x in 'aaabbb')]
内容的提问来源于stack exchange,提问作者JC Chen
相关产品推荐
相关产品推荐

