[英]Difficulty in plotting Pandas Multi-indexed DataFrame or series
s = pd.DataFrame(combined_df.groupby(['session','age_range','gender'])。size())s.head(25)
0
session age_range gender
Evening 0 - 17 female 31022
male 21754
18 - 24 female 79086
male 71563
unknown 75
25 - 29 female 29321
male 46125
unknown 44
30 - 34 female 21480
male 25803
unknown 33
35 - 44 female 17369
male 20335
unknown 121
45 - 54 female 8420
male 12385
unknown 24
55+ female 3433
male 9880
unknown 212
Mid Night 0 - 17 female 18456
male 12185
18 - 24 female 50536
male 45829
unknown 62
這就是我的多索引數據框的樣子。 我所要做的就是以這樣一種方式繪制數據:我可以比較不同年齡段(例如早晨,晚上,中午和夜晚)活躍的不同年齡組的男性和女性用戶。 例如,我將在我所擁有的不同會話期間繪制0-17歲,18-24歲,25-29歲年齡組的男性和女性用戶。
注意:我嘗試了一些堆棧溢出的例子,其他網站仍然沒有成功獲得我需要的東西。 所以,我請求你們嘗試解決我的問題並幫助我找到解決方案。 我一直在努力解決這個問題很多天,甚至文檔也很模糊。 所以,請對這個問題有所了解。 ] 2
我想你可以使用unstack
與DataFrame.plot.bar
:
import matplotlib.pyplot as plt
df = combined_df.groupby(['session','age_range', 'gender']).size()
df.unstack(fill_value=0).plot.bar()
plt.show()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.