Python 用Seaborn来可视化概率的最合适的图

Python 用Seaborn来可视化概率的最合适的图,python,matplotlib,dataframe,seaborn,Python,Matplotlib,Dataframe,Seaborn,我正在使用“泰坦尼克号”数据集对Seaborn进行试验,并使用条形图来可视化乘客等级,以获得最高的生存概率 现在,我想知道是否有更好的方法可以通过Seaborn可视化这些数据?欢迎任何可视化想法 df2.groupby(['Survived', 'Pclass']).size().unstack().plot(kind='bar', stacked=True) 要绘制每班幸存乘客的比例图,您可以执行以下操作 import seaborn as sns sns.set(style='ticks

我正在使用“泰坦尼克号”数据集对Seaborn进行试验,并使用条形图来可视化乘客等级,以获得最高的生存概率

现在,我想知道是否有更好的方法可以通过Seaborn可视化这些数据?欢迎任何可视化想法

df2.groupby(['Survived', 'Pclass']).size().unstack().plot(kind='bar', stacked=True)

要绘制每班幸存乘客的比例图,您可以执行以下操作

import seaborn as sns

sns.set(style='ticks', context='talk')
titanic = sns.load_dataset('titanic')

ax = sns.pointplot('pclass', 'survived', data=titanic, join=False, palette='Set2')
ax.set_ylim(0, 1)
sns.despine()

如果您对乘客等级和生存率之间的相关性感兴趣(根据@c的评论ᴏʟᴅsᴘᴇᴇᴅ), 你可以这样发现:

# Create binary dummy variables for each passenger class
titanic['pclass1'] = titanic['pclass'] == 1
titanic['pclass2'] = titanic['pclass'] == 2
titanic['pclass3'] = titanic['pclass'] == 3
# Create correlation matrix only for the columns of interest
plot_data = (titanic[['survived', 'pclass1', 'pclass2', 'pclass3']]
    .corr()
    .loc['survived', 'pclass1':]
    .to_frame()
    .T)
# Plot the correlation coefficients
ax = sns.barplot(data=plot_data)
ax.axhline(0, color='black')
sns.despine()
.corr()
的默认相关方法是计算皮尔逊相关系数(r),这是根据和计算二元变量之间相关性的合适选择


更新2017-10-18 创建虚拟变量的一种更具可扩展性的方法是使用
pd.get\u dummies()
。因此,可以在不指定单个列的情况下生成
plot\u data

plot_data = (pd.concat(
    [pd.get_dummies(titanic['pclass'], prefix='pclass', prefix_sep=''),
        titanic['survived']], axis=1)
    .corr()
    .loc['survived', 'pclass1':]
    .to_frame()
    .T)

要绘制每班幸存乘客的比例图,您可以执行以下操作

import seaborn as sns

sns.set(style='ticks', context='talk')
titanic = sns.load_dataset('titanic')

ax = sns.pointplot('pclass', 'survived', data=titanic, join=False, palette='Set2')
ax.set_ylim(0, 1)
sns.despine()

如果您对乘客等级和生存率之间的相关性感兴趣(根据@c的评论ᴏʟᴅsᴘᴇᴇᴅ), 你可以这样发现:

# Create binary dummy variables for each passenger class
titanic['pclass1'] = titanic['pclass'] == 1
titanic['pclass2'] = titanic['pclass'] == 2
titanic['pclass3'] = titanic['pclass'] == 3
# Create correlation matrix only for the columns of interest
plot_data = (titanic[['survived', 'pclass1', 'pclass2', 'pclass3']]
    .corr()
    .loc['survived', 'pclass1':]
    .to_frame()
    .T)
# Plot the correlation coefficients
ax = sns.barplot(data=plot_data)
ax.axhline(0, color='black')
sns.despine()
.corr()
的默认相关方法是计算皮尔逊相关系数(r),这是根据和计算二元变量之间相关性的合适选择


更新2017-10-18 创建虚拟变量的一种更具可扩展性的方法是使用
pd.get\u dummies()
。因此,可以在不指定单个列的情况下生成
plot\u data

plot_data = (pd.concat(
    [pd.get_dummies(titanic['pclass'], prefix='pclass', prefix_sep=''),
        titanic['survived']], axis=1)
    .corr()
    .loc['survived', 'pclass1':]
    .to_frame()
    .T)

你可能会对一些相关图感兴趣-将存活概率与各种因素相关。你可能会对一些相关图感兴趣-将存活概率与各种因素相关。