我有一只pandas DataFrame
,我使用groupby
将其放入以下格式:
Building Type 1 1000 - 3000m2 0.766355
3000 - 10000m2 0.140187
300 - 1000m2 0.084112
10000 - 30000m2 0.009346
Building Type 2 1000 - 3000m2 1.000000
Building Type 3 1000 - 3000m2 0.666667
3000 - 10000m2 0.222222
10000 - 30000m2 0.055556
300 - 1000m2 0.055556
Building Type 4 1000 - 3000m2 0.526316
3000 - 10000m2 0.473684
我想要做的是创建一个水平堆积条形图,每个建筑类型都有一个条形图。基本上我想将数据转换为以下格式:
Building Type 300 - 1000m2 1000 - 3000m2 3000 - 10000m2 10000 - 30000m2
Building Type 1 0.084112 0.766355 0.140187 0.009346
Building Type 2 1.000000
Building Type 3 0.055556 0.666667 0.222222 0.055556
Building Type 4 0.526316 0.473684
我需要用什么功能来实现这个目标?
答案 0 :(得分:0)
这比我想象的容易得多。这只是在unstack
对象上调用groupby
然后绘制它的情况。
df = grouped.unstack()
df.plot(kind='barh', stacked=True)
答案 1 :(得分:0)
piv = pd.pivot_table(datasetname, values="counts",index=["buildingtype"], columns=["m2"], fill_value=0)