离散数据的绘图类型

数据挖掘 机器学习 python-3.x matplotlib 海运
2022-02-26 00:57:15

所以我的数据集中有很多离散变量,并且想要可视化它们(现在是单变量)。我浏览了互联网上的各种文章,建议直方图和计数图是绘制离散数据的合适选择。我的数据集中的许多离散变量都有 500 多个唯一的离散值,当我将它们绘制在直方图上时,需要花费大量时间来显示我的任何输出。那么我的方法正确吗?我们真的可以使用直方图绘制这些许多唯一值离散变量吗?或者你是否建议任何其他类型的情节?

编辑:刚得到一个具有 400+ 离散值的变量的输出,直方图(sns.histplot)为空,x 和 y 轴可见,但直方图中没有条形。为什么会这样?

我附上了我的专栏的参考照片以及 value_counts() 函数的输出。大约有 400 个离散值

1个回答

[在OP澄清后完全编辑]

直方图是通过在变量取值范围内制作相同大小的 bin 来构建的。例如,如果变量范围从 0 到 500,则可能决定创建 50 个大小为 10 的 bin。然后分布的实际值按 bin 计数:0 到 9 之间的每个值都进入第一个 bin,10 到 9 之间的每个值19进入第二个垃圾箱等。

离散值的数量无关紧要(实际上这些值可以是连续的),因为这些值是分箱的,即它们按彼此的接近程度分组(具有任意区间界限)。

我可以看到您拥有的数据已经格式化为

<value> <frequency>

您遇到的问题当然来自这种格式对于函数不正确的事实:通常直方图函数会自己创建 bin,因此无需事先计算值。这意味着您应该提供一个包含所有值的单个向量,因为它们出现的次数与它们一样多。

或者,您可以事先自己创建箱:确定间隔,然后计算每个箱中有多少值。然后使用一个简单的条形图来显示每个 bin 的计数。此选项通常不太方便。