0
点赞
收藏
分享

微信扫一扫

pivot_table多层索引问题

90哦吼 2021-10-04 阅读 72

pivot_table可以实现Excel数据透视表的功能,但是经过pivot_table函数处理后的dataframe的列是多层索引,需要转化成单层索引,具体步骤如下:

1、使用pivot_table函数,建立数据透视表

df_1为数据源,包含5列,amount列为数值列,用于聚合;
创建数据透视表,index=['group_series', 'buy_no'],columns=['xmonth'],NA值用0填充,结果如下:


df_1_out=pd.pivot_table(df_1, index=['group_series', 'buy_no'], columns=['xmonth'], values=['amount'], aggfunc='sum', fill_value=0)
df_1_out

2、列索引处理
# 查看列索引
df_1_out.columns

# 查看一级列索引
df_1_out.columns.levels[0]

# 查看二级列索引
df_1_out.columns.levels[1]

# 过滤一级列索引
df_1_out.columns=df_1_out.columns.droplevel(level=0)



3、行索引处理
# 查看行索引
df_1_out.index

# 重置行索引
df_1_out.reset_index(inplace=True)
df_1_out.index

最终数据结果如下:


举报

相关推荐

0 条评论