绘制一百万行的列

时间:2018-11-04 08:01:05

标签: python python-3.x matplotlib seaborn scaling

我有一个包含数百万行(近800万)的数据框。我需要查看其中一列中值的分布。该列称为“ price_per_mile”。我也有一个名为“自治市镇”的专栏。最终目标是进行t检验。 首先,我想查看“ price_per_mile”中的数据分布,以查看数据是否正常以及是否需要进行一些数据清理。然后根据“自治市镇”列中的五个类别进行分组,然后对每个可能的自治市镇进行t检验。

我尝试使用sns.distplot()绘制分布图,但是由于似乎在y轴上有比例缩放,所以它没有给我清晰的图。另外,“ price_per_mile”中包含的值范围很大。

enter image description here

然后,我试图绘制一部分值,但该图看起来不够清晰且内容丰富。缩放再次发生。

result.drop(result[(result.price_per_mile <1) | (result.price_per_mile>200)].index, inplace=True)

要得到一个外观更好的图,该图可以为我提供每个bin的真实值,而不仅仅是归一化值,我该怎么办? 我阅读了sns.distplot()的文档,但是没有找到有用的东西。

1 个答案:

答案 0 :(得分:1)

按照the documentation for displot(强调我的意思)

  

norm_hist:bool,可选

     

如果为True,则直方图高度显示的是密度而不是计数。 如果绘制了KDE或拟合密度,则表示这是隐含的。

这意味着如果您想要非标准化的直方图,则必须确保指示seaborn不要同时绘制KDE

sns.distplot(a, kde=True, norm_hist=False)

enter image description here

sns.distplot(a, kde=False, norm_hist=False)

enter image description here