如何调整Python Pandas pivot_table输出格式以达到期望的展示效果
解决方案
你当前生成的透视表列索引为双层结构,上层是聚合指标(StockID、SoldStatus),下层是日期,仅需要调整列索引的层级顺序即可达到预期展示效果,操作代码如下:
import pandas as pd import numpy as np # 原透视表创建代码不变 piv_full = pd.pivot_table(full_stock_list, index='Unique_Location', values=['StockID', 'SoldStatus'], columns='date_of_file', aggfunc={'StockID': lambda x: len(x.unique()), 'SoldStatus': np.sum}) # 交换列的两层索引顺序,将日期移到上层,再按列索引排序 piv_full = piv_full.swaplevel(axis=1).sort_index(axis=1) # 可选操作:重命名指标为更易读的名称 piv_full = piv_full.rename(columns={ 'StockID': '库存总量', 'SoldStatus': '已售数量' }, level=1)
如果需要将双层列合并为单层便于后续处理,可以追加以下代码:
piv_full.columns = [f"{date}_{metric}" for date, metric in piv_full.columns]
效果参考
当前输出效果:
调整后期望效果:
内容的提问来源于stack exchange,提问作者CarMan21
相关产品推荐
相关产品推荐

