[英]Frequency Density Graph using pandas
我創建了一個熊貓數據框,如下所示
df_hist2 = pd.DataFrame({'Score':np.random.uniform(0,1,4300)}).append(
pd.DataFrame({'Score':np.random.uniform(1,3,6900)}),ignore_index=True).append(
pd.DataFrame({'Score':np.random.uniform(3,5,4900)}),ignore_index=True).append(
pd.DataFrame({'Score':np.random.uniform(5,10,2000)}),ignore_index=True).append(
pd.DataFrame({'Score':np.random.uniform(10,24,2100)}),ignore_index=True);
我可以從中創建直方圖,如下所示
df_hist2.plot.hist(bins=[0,1,3,5,10,24], edgecolor='black', linewidth=1.2)
就是這樣
但是,我想創建一個直方圖來顯示頻率密度,而不僅僅是頻率
頻率密度=頻率/料箱寬度
我可以繪制條形圖,在其中可以為每個垃圾箱(“ 0-1”,“ 1-3”等)創建類別並手動計算密度。 但是,是否有更優雅,更輕松的方法來做到這一點?
此外,以條形圖的方式進行操作還需要我首先從數據中計算出頻率。 (在這種情況下,由於我是手動生成數據,所以我知道,但是在真實數據的情況下我不知道)
我想要的是可以計算和繪制以下內容的內容
Hours | Frequency | Width | Density |
--------------------------------------------|
0 - 1 | 4300 | 1 | 4300/1 = 4300 |
1 - 3 | 6900 | 2 | 6900/2 = 3450 |
3 - 5 | 4900 | 2 | 4900/2 = 2450 |
5 - 10 | 2000 | 5 | 2000/5 = 400 |
10 - 24 | 2100 | 14 | 2100/14 = 150 |
以及一個類似於以下內容的繪圖(在excel中進行了一些手動編輯)
注意:間隔/ bin的寬度將保留。 更改高度以反映頻率。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.