Код для сюжета -Python

Я никогда не использовал 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])

1 ответ

Решение

Цифровая документация не объясняет, почему индексы используются в том виде, в каком они есть, в частности, первые в h5file:

[...] на h5file строки необходимы для фактического копирования данных; если нет, передается ссылка, которая не всегда может быть тем, что вы хотите. В этом случае, однако, похоже, что это не нужно, и, возможно, это просто привычка.

После этого у вас остаются двумерные массивы данных (примечание: не 3D, как вы предлагаете), где первое измерение индексируется по всему диапазону (с помощью единственного ':'), а второе внутреннее измерение индексируется. как одно значение (0) или диапазон первых десяти значений (:10, где 0 в 0:10 является значением по умолчанию и может быть опущено).

Другие вопросы по тегам