我有一个数据框,其中包含另一个数据框的摘要统计信息:
df = sample[['Place','Lifeexp']]
df = df.groupby('Place').agg(['count','mean', 'max','min']).reset_index()
df = df.sort_values([('Lifeexp', 'count')], ascending=False)
在查看结构时,数据框具有多索引,这使得绘图创建变得困难:
df.columns
MultiIndex(levels=[['Lifeexp', 'Place'], ['count', 'mean', 'max', 'min', '']],
labels=[[1, 0, 0, 0, 0], [4, 0, 1, 2, 3]])
我在这里尝试了不同问题的解决方案(例如this),但不知何故得不到想要的结果。我希望df将Place
,count
,mean
,max
,min
作为列名并删除Lifeexp
以便我可以轻松创建情节例如df.plot.bar(x = "Place", y = 'count')
答案 0 :(得分:1)
我认为解决方案应该是在groupby
之后简化定义列,以防止列中出现MultiIndex
:
df = df.groupby('Place')['Lifeexp'].agg(['count','mean', 'max','min']).reset_index()
df = df.sort_values('count', ascending=False)