绘制按数据框分组的图

时间:2018-09-27 21:01:23

标签: pandas dataframe matplotlib indexing pandas-groupby

我要绘制此数据框。我有更多的国家,年份和变量。我只是将其中一部分作为示例。

                       gdp_share    military_exp
year    Country                     
2010    USA            5.0  768465792.0
        China          2.0  138028416.0 
        Korea          3.0  31117330.0  
        Russia         4.0  43120560.0  
2011    USA            5.0  758988352.0
        China          2.0  149022400.0
        Korea          3.0  31543720.0
        Russia         3.0  46022120.0

我已经使用data = data.set_index(["year", "Country"])来按年份和国家对它进行索引。

我也尝试过:

fig, ax = plt.subplots()
ax.set_xticks(data.year.unique())
data.groupby(["year", "Country"]).mean()['gdp_share'].unstack().plot(ax=ax)

但是那没有用。它不断抛出此错误:AttributeError: 'DataFrame' object has no attribute 'year'

是否可以绘制一种折线图,其中每个国家/地区每年仅在y轴上显示gdp_share列?

1 个答案:

答案 0 :(得分:2)

尝试一下:

.row > .text > .b {
display: -webkit-box;
height: 70%;
line-height: 1.3;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;

输出:

enter image description here