我有一个数据框:
level type count
A 00 123
B 00 542
C 00 985
D 00 786
A 01 423
B 01 552
C 01 785
D 01 686
A 02 523
B 02 642
C 02 385
D 02 86
我想要4个饼图下4个不同的水平:每个饼图有关于不同类型的数据00,01,02等。
A - pie chart1 contains information about different 'type'
B - pie chart2 contains information about different 'type'
C - pie chart3 contains information about different 'type'
D - pie chart4 contains information about different 'type'
事实上,我必须将其动态化。只有不同的级别,例如A,...D是固定的。但不同的类型00,01,...09,10可以转到许多类型,这取决于我将挑选的数据帧。我必须处理多个数据帧,它们具有相同的级别但不同的类型。
我试着在df上使用groupby,但它不起作用。
df = df.groupby(['level', 'type']).size().unstack(fill_value=0)
发布于 2018-07-27 02:27:36
这会起作用的!
import pandas as pd
df = pd.DataFrame({'level': ['A', 'B', 'C', 'D', 'A', 'B', 'C', 'D', 'A', 'B', 'C', 'D'],
'type': ['00', '00', '00', '00', '01', '01', '01', '01', '02', '02', '02', '02'],
'count':[123, 542, 985, 789, 423, 552, 785, 686, 523, 642, 385, 85]})
# Group it
group_df = df.groupby(['level'])
for name, group in group_df:
ax = group.groupby(['type']).sum().plot(kind='pie', y='count', legend=None, title=name)
ax.set_ylabel(name)
希望能有所帮助。
https://stackoverflow.com/questions/51544175
复制相似问题