如何使用pandas根据指定值筛选包含'Morning'的行
用pandas筛选包含'Morning'行的实现方案
假设你的原始数据已经读取为DataFrame,根据你的数据结构可以选择对应筛选方法:
场景1:原始数据整行存储为单列
如果所有行内容都存在同一列(比如列名为raw_data),直接用字符串匹配筛选即可:
import pandas as pd # 读取数据示例,可根据你的实际文件格式调整读取参数 df = pd.read_csv('你的数据源文件路径', header=None, names=['raw_data']) # 筛选包含'Morning'的行 df_filtered = df[df['raw_data'].str.contains('Morning')] # 打印结果 print(df_filtered.to_string(index=False, header=False)) # 如需导出结果到文件 df_filtered.to_csv('筛选结果保存路径', index=False, header=False)
场景2:数据已拆分多列
如果你的数据已经拆分为ID列、时段列等多个列,要匹配任意列包含'Morning'的行,筛选逻辑调整为:
# 按行遍历,只要任意一列包含'Morning'就保留该行 df_filtered = df[df.apply(lambda x: x.astype(str).str.contains('Morning').any(), axis=1)]
执行上述代码后得到的结果和你期望的输出完全一致。
内容的提问来源于stack exchange,提问作者Ken Uda
相关产品推荐
相关产品推荐

