我已经使用NumPy成功构建了基本的直方图,并且可以使用savetxt
保存它。
我还无法弄清楚如何修改直方图本身或savetxt
,以输出bin范围。
而不是输出看起来像这样:
0.00 534
16.67 504
33.33 515
50.00 534
66.67 566
83.33 574
我正在寻找:
0.00 16.66 534
16.67 33.32 504
33.33 49.99 515
50.00 66.66 534
66.67 83.32 566
83.33 (max?) 574
代码:
a = np.array(temperature_list)
freqs, bins = np.histogram(a, bins=5)
h = np.array(list(zip(bins,freqs)))
np.savetxt(
fname=tsv_file,
X=h,
fmt='%1.2f %d',
delimiter='\t')
https://docs.scipy.org/doc/numpy-1.16.0/reference/generated/numpy.savetxt.html?highlight=savetxt#numpy.savetxt似乎很简单,所以我假设在创建直方图时需要以某种方式将其提供为另一个数组?也许将某种形式的列表理解作为我要构建到h
中的另一项?
答案 0 :(得分:0)
查看您的bins
,该信息已经存在; bins
比freqs
长一个元素,但是您使用zip
切掉了最后一个bin边界,该边界仅在其可迭代项的最小公共长度上进行迭代。
尝试例如
h = np.array(list(zip(bins[:-1], bins[1:], freqs)))