如何使用Pandas合并重复日期列为唯一表头并匹配所有关联列

实现方法
直接通过Pandas的长宽表转换即可完成需求,完整代码如下:
import pandas as pd # 加载JSON数据,可替换为自己的实际数据读取逻辑 raw_data = [ {'availability': 1, 'date': '2021-08-04'}, {'availability': 1, 'date': '2021-08-03'}, {'availability': 0.999421296, 'date': '2021-08-02'}, {'availability': 1, 'date': '2021-08-01'}, {'temp': 29.418599537000002, 'date': '2021-08-04'}, {'temp': 29.398615741, 'date': '2021-08-03'}, {'temp': 29.272759258999997, 'date': '2021-08-02'}, {'temp': 29.390018505999997, 'date': '2021-08-01'} ] df = pd.DataFrame(raw_data) # 1. 将分散的指标列转为长格式,删除空值行 df_long = df.melt(id_vars='date', var_name='指标类型', value_name='数值').dropna(subset=['数值']) # 2. 按日期透视生成唯一日期为表头的结果表 df_result = df_long.pivot(index='指标类型', columns='date', values='数值').reset_index() # 导出到Excel df_result.to_excel('合并后结果.xlsx', index=False)
最终导出的Excel会以去重后的唯一日期作为列名,每一行对应一个指标的各日期数值,完全符合要求的格式。
内容的提问来源于stack exchange,提问作者Priyam Saha
相关产品推荐
相关产品推荐

