如何为情况创建分组条形图[重复]
Posted
技术标签:
【中文标题】如何为情况创建分组条形图[重复]【英文标题】:How to create grouped bar chart for situations [duplicate] 【发布时间】:2021-12-20 17:17:30 【问题描述】:我正在尝试创建分组条形图。在这张图表中,我想根据他们的登船点(C,Q,S)来比较他们是幸存还是死亡。在这段代码中,我无法决定 y 将是什么。
df_drop_Emb = df_titanic.dropna(subset= ["Embarked"])
plt.figure(figsize=(10, 8))
sns.barplot(x="Embarked",
y="Survived",
hue="Survived",
data=df_drop_Emb)
plt.ylabel("number of people", size=14)
plt.xlabel("ports", size=14)
plt.title(" the number of passengers who survived for each port", size=18)
【问题讨论】:
使用pd.crosstab
会更好,正如我在上一个问题中演示的那样。 .groupby
需要像 .reset_index
这样的额外步骤。 pd.crosstab(df.embarked, df.survived).plot(kind='bar')
【参考方案1】:
可能需要先分组并统计幸存者列中的生/死。
import pandas as pd
import seaborn as sns
df = pd.read_csv('train.csv')
df = df.groupby(['Embarked', 'Survived']).size().reset_index(name='count')
sns.barplot(data=df, x='Embarked',y='count',hue='Survived')
【讨论】:
完美解决方案。谢谢以上是关于如何为情况创建分组条形图[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Altair - 如何在不操作 DataFrame 的情况下创建分组条形图