Pandas如何按日期为数据集中每个分类值新增对应行
Pandas 实现宽表转长表方案
你需要的是把按列存储分类的宽表转换为按行存储分类的长表,直接使用Pandas内置的melt方法即可快速实现,完整示例代码如下:
import pandas as pd # 1. 读取你的原数据集,替换为你实际的读取路径即可 # df = pd.read_excel("你的数据集文件路径.xlsx") # 下方为示例原数据构造代码,方便你验证效果可直接运行 df = pd.DataFrame({ "date": ["2023-01-01", "2023-01-02", "2023-01-03"], "分类A": [10, 20, 30], "分类B": [15, 25, 35], "分类C": [20, 30, 40] }) # 2. 执行转换操作 result_df = df.melt( id_vars="date", # 填写不需要拆分、需要原样保留的列,有多个可以写为列表格式 var_name="分类", # 拆分后存储分类名称的新列名,可根据你的需求修改 value_name="数值" # 拆分后存储分类对应数值的新列名,可根据你的需求修改 ) # 3. 可选:按日期排序重置索引,符合常规查看习惯 result_df = result_df.sort_values("date").reset_index(drop=True) # 4. 导出结果(按需使用) # result_df.to_excel("转换后结果.xlsx", index=False)
内容的提问来源于stack exchange,提问作者Greg
相关产品推荐
相关产品推荐

