Код для сюжета -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
является значением по умолчанию и может быть опущено).