可视化在 matplotlib/seaborn 中有意义的数值与分类数据

Posted

技术标签:

【中文标题】可视化在 matplotlib/seaborn 中有意义的数值与分类数据【英文标题】:Visualize numerical vs categorical data that makes sense in matplotlib/seaborn 【发布时间】:2020-05-01 06:28:09 【问题描述】:

我有 income 列,它有不同的 1000 个值,范围从 10-10000 和另一个分类列 alcoholic 这是是/否 2 类别列。两者之间的关系是什么,如何看出?

sns.catplot 使用 stripplotswarm 仅显示 2 条直线。 如何在regplotscatterplot 中找到两者之间的关系以获取数值?

【问题讨论】:

这里不太适合。无论如何,可能是一个显示每个平均值的条形图。就可视化而言,您无法从虚拟变量中得到什么。如果你想可视化三个变量,你可以使用alcoholic as hue 这是我的 Y 标签。我想看看那些挣得更多、喝得更多的人。我的意思是可能会有一些解决方法,将income 放在单独的垃圾箱中,以查看哪个类别的饮料更多。我目前正在使用bardf['income']range(len(df['income']))alcoholic 的散点图作为色调 【参考方案1】:

我会使用 seaborn 库中的 violin plot 或 boxplot。这是一个sn-p:

import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt

income = list(np.random.normal(4000, 1500, 500)) + list(np.random.normal(7000, 800, 500))
alcoholic = ['no']*500 + ['yes']*500
df = pd.DataFrame('income':income, 'alcoholic':alcoholic)

sns.violinplot(data=df, x='alcoholic', y='income')

sns.boxplot(data=df, x='alcoholic', y='income')

【讨论】:

如果我使用sns.catplot(x="alcoholic", y="income", kind='bar',data=df),那么它将显示酒吧的最大高度为alcoholic 2500 左右的高度和1500 左右的非酒精高度。那说明什么?我的意思是,中位数,模式,最大值都不同于 2500 我只是随机编的数据。使用相同的数据集,它应该会显示相同的平均值和其他时刻:)

以上是关于可视化在 matplotlib/seaborn 中有意义的数值与分类数据的主要内容,如果未能解决你的问题,请参考以下文章

可视化在 matplotlib/seaborn 中有意义的数值与分类数据

使用matplotlib,seaborn统计缺失数据可视化

不写代码,拖拖拽拽也可使用 Matplotlib/Seaborn 可视化!

python数据可视化(matplotlib,seaborn,plotly)

统计图表这么多?这个可视化工具太赞了~~

统计图表这么多?这个可视化工具太赞了~~