使用lookup列表前缀匹配DataFrame列 按前缀导出对应时间序列CSV
实现方案
直接使用Pandas内置的字符串前缀匹配方法即可实现需求,完整可运行代码如下:
import pandas as pd # 构造示例数据 lookup = ["AB", "AC", "AX"] df = pd.DataFrame({ "name": ["AB2", "AB_7", "AC1", "AX"], "year": [2020, 2021, 2022, 2019], "mean": [4, 5, 3, 4], "upper": [7, 9, 9, 9], "lower": [1, 2, 2, 2] }) # 逐一遍历匹配前缀导出数据 for prefix in lookup: # 筛选name列以当前前缀开头的行,丢弃name列 res_df = df[df["name"].str.startswith(prefix)].drop(columns="name") # 导出为csv,空格分隔、无表头无行索引,完全匹配输出要求 res_df.to_csv(f"{prefix}.csv", sep=" ", header=False, index=False)
- 匹配逻辑用Pandas原生
str.startswith()实现,无需额外写正则,执行效率更高 - 导出参数可根据实际分隔符需求调整
sep值,比如要改成逗号分隔直接改成sep=","即可
内容的提问来源于stack exchange,提问作者user11958450
相关产品推荐
相关产品推荐

