python编译时间很长



我使用plt.hist()函数来显示直方图。当我在一个较小的数据集上尝试时,一切都很好。然而,我的原始数据集包含近3万个样本,为此我需要在直方图上显示每个样本的6个值。我知道这是很多,但我需要的帮助是如何使编译时间在我的情况下更小。我可以等10分钟,但是昨天我等结果等了一个多小时,我放弃了。

我如何优化它并减少编译时间?我的第一个想法是在这个函数中添加bin,所以像这样:

plt.hist(values, bins=50)

但是我不确定箱子到底是做什么的。这会导致直方图的打印过于笼统,还是只从数据中获取50个前值?另外,它会缩短编译时间吗?我能做什么?

但我不确定箱子到底是做什么的。这会导致直方图的打印过于笼统,还是只从数据中获取50个前值?

你可以把箱子想象成x轴的一个分区。箱子的数量越多,你的直方图就越平滑。

拥有50个bin意味着您正在绘制的数据的范围值将被细分为50个相等的部分,并且在每个bin中您将拥有具有落在bin范围内的值的元素的计数。

假设你想制作一个值从0到99的元素的直方图,你制作了10个箱子。例如,第一个bin将计算值为0 <= elem_val <= 9的元素的数量。第二个bin将包含值为10 <= elem_val <= 19的元素,以此类推。

所以如果你添加更多的箱子,范围会更小,包含更少的元素,但直方图会更精确。

另外,它会缩短编译时间吗?我能做什么?

这个答案对我来说很好:https://stackoverflow.com/a/39582304/11153525

'bins'的值越大,行粗越小

试题:

plt.hist(values, bins=250)

最新更新