[英]How to plot a bar plot of 2 categorical columns using matplotlib or seaborn
這可能是一項簡單的任務,但我是在 python 中繪圖的新手,並且正在努力將邏輯轉換為代碼。 我有 2 列,如下所示。 0 表示未流失,1 表示已流失。 性別是 object 列,流失是類別列
gender|churned
--------------
male |0
male |1
female |0
female |1
female |1
male |1
我只想要一個堆疊條形圖(如果這不是正確的圖表選擇,請糾正我)在 x 軸(流失列)上具有 0 和 1,對於這兩個類別中的每一個,我想要一個具有 2 種不同顏色的堆疊條形圖每個性別顯示 0 歲以下的男性和女性總數(未流失)和 1 歲以下的男性和女性總數(流失)。
我試過了:
df.Churn.value_counts().plot(kind='bar')
它給了我每個 0 和 1 的總數,但我也需要將它除以性別。
希望我說得通
如果你想要一個交互式版本,那么你可以使用 hvplot:
import pandas as pd
import hvplot.pandas #noqa
# 1. CREATE DF:
churn = pd.DataFrame({"gender":["male","male","female","female","female","male"],
"churned":[0,1,0,1,1,1]})
churn
Out[2]:
gender churned
0 male 0
1 male 1
2 female 0
3 female 1
4 female 1
5 male 1
# 2. GROUP THE DATA BY "churned" THEN "gender":
plot_me = churn.groupby(["churned","gender"])[["gender"]].count().rename(columns={"gender":"count"})
plot_me
Out[3]:
count
churned gender
0 female 1
male 1
1 female 2
male 2
# 3. PLOT:
plot_me.hvplot.bar(stacked=True,color=["maroon","teal"],line_width=3,
line_color="black",height=350,width=500)
Out[4]:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.