-3

私は Python を使ったことがなく、マニュアルのコードを 1 つ見たことがあります。それが何を意味するのか知りたいです。

これはマニュアルのコードです:

    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)')

[...]この 2 行が何を意味するのか、特に何[:, 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

その後、2 次元のデータ配列が残ります (注: あなたが示唆する 3D ではありません)。最初の次元は (唯一の「:」を使用して) 範囲全体にインデックスが付けられ、2 番目の内側の次元にはインデックスが付けられます。単一の値 ( 0) または最初の 10 個の値の範囲 ( :100in0:10はデフォルトで、省略可能) として。

于 2014-06-17T13:20:55.383 に答える