我有一个包含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中执行此操作?
答案 0 :(得分:1)
Matplotlib对于绘制大型数据集效率不高。问题是你正在使用dim cd as EA.Diagram
...
set currentElement.CompositeDiagram=cd
(我猜bins=no_of_rows
是no_of_rows
然后)。因此,在最坏的情况下,您可能会尝试在直方图中绘制100 000
条。
我建议你减少垃圾箱的数量(对于人眼来说,我认为你不会注意到100 000
垃圾箱之间的差异,让我们说,100 000
)。如果你真的想绘制直方图,那么将这个数字减少到1000
或更少IMO会更有意义。
如果你想绘制大型数据集,你应该看看其他工具,这些工具可以实现更高效的后端,也许可以使用基于OpenGL的后端。例如,请参阅:PyQtGraph,VisPy,Bokeh,Chaco ...