【发布时间】:2021-12-12 18:38:38
【问题描述】:
我有一些仪器数据以 hdf-5 格式保存为多个二维数组以及测量时间。如下图所示,d1和d2是仪器记录不同时间的两个独立文件。它们具有相同的数据变量,唯一不同的是phony_dim_0的长度,代表了随测量时间变化的总数据点。
这些文件需要加载到仪器公司提供的特定软件中才能获得有意义的结果。我想用 Python xarray 合并多个文件,同时保持它们的原始格式,然后将一个合并的文件加载到软件中。
这是我的尝试:
files = os.listdir("DATA_PATH")
d1 = xarray.open_dataset(files[0])
d2 = xarray.open_dataset(files[1])
## copy a new one to save the merged data array.
d0 = d1
vars_ = [c for c in d1]
for var in vars_:
d0[var].values = np.vstack([d1[var],d2[var]])
错误显示如下:
replacement data must match the Variable's shape. replacement data has shape (761, 200); Variable has shape (441, 200)
我想了两个解决这个问题的方法:
- 将维度长度扩展到所有合并文件的总长度。
- 以 d1 和 d2 的相同格式创建一个新的空数据帧。
但是,我仍然无法弄清楚实现该功能的功能。任何 cmets 或建议将不胜感激。
补充信息
【问题讨论】:
标签: python numpy numpy-ndarray hdf5 python-xarray