簡體   English   中英

如何在熊貓數據框的 1 個圖形上繪制 2 個直方圖

[英]How to plot 2 histograms on 1 graph from pandas dataframe

我試圖繪制一個直方圖,顯示按性別消耗的 hotwings 的頻率計數。 它是 1 個圖中的兩個直方圖。

id Hotwings    Beer Gender
1   4   24  F
2   5   0   F
3   5   12  F
4   6   12  F
5   7   12  F
6   7   12  F
7   7   24  M
8   8   24  F
9   8   0   M
10  8   12  M
11  9   24  F
12  11  24  F
13  11  24  M
14  12  30  F
15  12  30  F
16  13  24  F
17  13  36  F
18  13  30  M
19  13  30  M
20  14  30  F
21  14  36  F
22  14  48  M
23  16  36  M
24  16  36  M
25  17  36  M
26  17  42  M
27  18  30  M
28  18  30  M
29  21  36  M
30  21  42  M

這是我上面的數據集...

plt.hist([data["Hotwings"][data["Gender"]=='M']],[data["Hotwings"][data["Gender"]=='F']])

我一直接收的bins一定是1d,當一個數組時,報錯。 我對如何繼續或是否有更好的方法使用 matplotlib 進行操作感到非常困惑。 謝謝!

編輯:我也試過這個:

plt.hist(dta[dta["Gender"]=='M'][data["Hotwings"]],[data["Gender"]=='F'][data["Hotwings"]])

我得到了一個關鍵錯誤:“ [Int64Index([ 4, 5, 5, 6, 7, 7, 7, 8, 8, 8, 9, 11, 11, 12, 12, 13, 13,\\n 13 , 13, 14, 14, 14, 16, 16, 17, 17, 18, 18, 21, 21],\\n dtype='int64')] 在 [columns]"

我真的很困惑,不確定如何並排制作酒吧

這將在同一圖表中顯示您的條形圖

plt.bar(dta[dta['Gender']=='F']['Hotwings']-1, dta[dta['Gender']=='F']['Beer'], 0.50, align='center', alpha=0.5, color='b')

plt.bar(dta[dta['Gender']=='M']['Hotwings']+1, dta[dta['Gender']=='M']['Beer'], 0.50, align='center', alpha=0.5, color='r')
plt.show()

並在您可以使用的不同 Graph 中顯示圖形。

sp = plt.subplot(2,2,1)
l1 = plt.bar(dta[dta['Gender']=='F']['Beer'], dta[dta['Gender']=='F']['Hotwings'], 3.0, align='center', alpha=0.5, color='b')

sp = plt.subplot(2,2,2)
l1 = plt.bar(dta[dta['Gender']=='M']['Beer'], dta[dta['Gender']=='M']['Hotwings'], 2.0, align='center', alpha=0.5, color='r')
plt.show()
data.groupby("Gender")["Hotwings"].plot(kind="hist")
plt.legend() # optional, but recommended
plt.show()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM