通过savetxt

时间:2019-04-03 04:45:51

标签: python python-3.x numpy histogram

我已经使用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中的另一项?

1 个答案:

答案 0 :(得分:0)

查看您的bins,该信息已经存在; binsfreqs长一个元素,但是您使用zip切掉了最后一个bin边界,该边界仅在其可迭代项的最小公共长度上进行迭代。

尝试例如

h = np.array(list(zip(bins[:-1], bins[1:], freqs)))