pandas中对dataframe进行groupby+统计操作后会生成MultiIndex

如对df4的'prod_label_name2'进行聚合后,对'm_up_flow'列进行describe操作

df55=df4.groupby(['prod_label_name2'])[['m_up_flow']].describe().fillna(0).reset_index()
print(df55)

产生df如下:

pandas MultiIndex重新整理列 

此时想删除25%这一列直接drop是不行的,此时报错KeyError

解决办法:

重新对column命名,再删除

    df55.columns = [str(j[0])+'_'+str(j[1])+"_1m" for j in df55.reset_index().columns.tolist()[1:]]
    df5=df55.drop([str(i)+'_'+'25%'+"_1m",str(i)+'_'+'50%'+"_1m",str(i)+'_'+'75%'+"_1m"],axis=1)

    print(df5) 

得到结果

pandas MultiIndex重新整理列 

成功 

 

相关文章: