对于0岁的汽车,我有以天为单位的交货时间列表。该列表包含近20,000个交付日,并且重复多天。我的问题是我如何得到直方图以显示bin大小为1天。我已经将箱子大小设置为以下独特交货日期:
len(set(list))
但是当我生成直方图时,0个交付日的频率超过5000,但是当我list.count(0)
时,它返回4500.
答案 0 :(得分:0)
正如您所指出的,len(set(list))是“delivery days”变量的唯一值数。这与箱子大小不同;这是不同垃圾箱的数量。我会用“bin size”来描述一个bin中的项目数量; “bin count”将是一个更好的名称。
如果要生成直方图,假设原始的天数列表称为days_list,则快速的高级方法是:
这有意义吗?
如果问题不在于你手动计算直方图错误但是pyplot做错了什么,那么如果你包含一些代码来说明使用pyplot会有所帮助。
答案 1 :(得分:0)
垃圾箱的数量取决于最大可能天数的天数。
Say daylist
是您想要直方图的列表(从不调用列表list
,因为它会覆盖具有相同名称的python命令),您将使用该列表的最大值并创建一个像
maxi = max(daylist)
bins = range(0, maxi)
plt.hist(daylist, bins=bins)
或者,如果你想使用numpy,
bins = np.arange(0,np.max(daylist))
plt.hist(daylist, bins=bins)