如何使用python对csv文件中的列进行分组并绘制直方图?

时间:2016-09-30 04:24:17

标签: python-2.7 csv pandas matplotlib

我有一个包含20多个列的数据集,其中一个是" Trip_distance"并且其中有超过100,000行。

这是列" Trip_distance":

的示例
  

[0 0   0.59   0.74   0.61   1.07   1.43   0.9   1.33   0.84]

继续。 我想通过将它们分组到一个范围来绘制这个直方图(绘制所有100,000个值并没有意义)。

我试过

plt.hist(df['Trip_distance'],bins = no_of_rows)

plt.show()

但代码内存不足。

有没有办法在python中执行此操作?

1 个答案:

答案 0 :(得分:1)

Matplotlib对于绘制大型数据集效率不高。问题是你正在使用dim cd as EA.Diagram ... set currentElement.CompositeDiagram=cd (我猜bins=no_of_rowsno_of_rows然后)。因此,在最坏的情况下,您可能会尝试在直方图中绘制100 000条。

我建议你减少垃圾箱的数量(对于人眼来说,我认为你不会注意到100 000垃圾箱之间的差异,让我们说,100 000)。如果你真的想绘制直方图,那么将这个数字减少到1000或更少IMO会更有意义。

如果你想绘制大型数据集,你应该看看其他工具,这些工具可以实现更高效的后端,也许可以使用基于OpenGL的后端。例如,请参阅:PyQtGraphVisPyBokehChaco ...