為簡單起見,假設我有一個包含“年收入”和“性別”兩列的資料框
我想繪制每個箱的年收入直方圖,顏色表示該箱中男性/女性的比例。
import numpy as np
import pandas as pd
df = {'annual_income':np.random.randint(0,10,(1000,)),'gender':np.random.randint(0,2,(1000,))}
df = pd.DataFrame(df)
df.hist(column='annual_income')
到目前為止,我只能繪制年收入的直方圖,但我希望每個垃圾箱都由構成垃圾箱的男性/女性比例著色。如果有更經典的方式來可視化相同的想法,我也會很感激
uj5u.com熱心網友回復:
使用pd.cutorvalue_counts來裝箱,然后pd.crosstab按照評論中的建議:
# pass your bins here, you can also pass an array
(pd.crosstab(pd.cut(df['annual_income'], bins=5),
df['gender'], normalize='index')
.plot.bar(stacked=True)
)
輸出:

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/446250.html
