我是熊貓和 matplotlib 的新手。我有一個(gè) csv 文件,其中包含從 2012 年到 2018 年的年份。對(duì)于一年中的每個(gè)月,我都有雨數(shù)據(jù)。我想通過直方圖分析一年中哪個(gè)月份降雨量最大。這是我的數(shù)據(jù)集。year month Temp Rain2012 1 10 1002012 2 20 2002012 3 30 300.. .. .. ..2012 12 40 4002013 1 50 3002013 2 60 200.. .. .. ..2018 12 70 400我無法用直方圖繪制,我嘗試用條形圖繪制但沒有得到想要的結(jié)果。這是我嘗試過的:import pandas as pdimport numpy as npyimport matplotlib.pyplot as pltdf2=pd.read_csv('Monthly.csv')df2.groupby(['year','month'])['Rain'].count().plot(kind="bar",figsize=(20,10))這是我得到的輸出:請(qǐng)給我建議一種繪制直方圖的方法,以分析按年份分組的月份中發(fā)生的最大降雨量。
3 回答

米琪卡哇伊
TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個(gè)贊
可能您不想看到count
每個(gè)組,但是
df2.groupby(['year','month'])['Rain'].first().plot(kind="bar",figsize=(20,10))
或者可能
df2.groupby(['month'])['Rain'].sum().plot(kind="bar",figsize=(20,10))

函數(shù)式編程
TA貢獻(xiàn)1807條經(jīng)驗(yàn) 獲得超9個(gè)贊
您已接近解決方案,我會(huì)寫:使用 max() 而不是 count()
df2.groupby(['year','month'])['Rain'].max().plot(kind="bar",figsize=(20,10))

喵喵時(shí)光機(jī)
TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊
第一個(gè) groubby 年和月,就像你已經(jīng)做的那樣,但只保持最大降雨量。
series_df2 = df2.groupby(['year','month'], sort=False)['Rain'].max()
然后拆開系列,轉(zhuǎn)置它并繪制它。
series_df2.unstack().T.plot(kind='bar', subplots=False, layout=(2,2))
這將為您的示例數(shù)據(jù)提供如下所示的輸出:
添加回答
舉報(bào)
0/150
提交
取消