-3

我从未使用过 Python,我从手册中看到了一段代码,我很想知道它是什么意思。

这是手册中的代码:

    import h5py
    h5file = h5py.File('Output/ScottCreek250b/simulation.results.DY.hdf5')
    channel_flows = h5file['Channel/Qc_out'][...]
    plt.plot(channel_flows[:, 0])
    plt.ylim((-0.01,0.01))
    plt.title('Streamflow at outlet', fontweight='bold')
    plt.ylabel('Flow ($\mathbf{m^3/s}$)')
    plt.xlabel('Model time-steps (24 hours)')

我想知道这两条线是什么意思,特别是[...]什么是[:, 0][:, :10]代表什么。

    channel_flows = h5file['Channel/Qc_out'][...]
    plt.plot(channel_flows[:, 0])

    soil_stores = h5file['Soil/V_s'][...]
    plt.plot(soil_stores[:, :10])
4

1 回答 1

3

numpy 文档不会解释为什么按原样使用索引,尤其是 h5file 中的第一个索引:

行上的[...]是实际复制h5file数据所必需的;如果不是,则传递一个引用,这可能并不总是人们想要的。但是,在这种情况下,它看起来是不必要的,可能只是一种习惯的力量。

之后,您将得到二维数据数组(注意:不是您建议的 3D),其中第一个维度在整个范围内被索引(通过使用唯一的“:”),第二个内部维度被索引作为单个值 ( 0) 或前十个值的范围 ( :10,其中0in0:10是默认值,可以省略)。

于 2014-06-17T13:20:55.383 回答