如何在Python中将指定shape的NumPy数组转换为带命名维度的Xarray?
将NumPy数组转换为带自定义维度的Xarray
首先确保你已经安装并导入numpy和xarray库,然后按以下步骤操作:
- 定义原始NumPy数组:
import numpy as np import xarray as xr a = np.array([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]],[[13,14,15],[16,17,18]]])
- 为每个维度定义坐标值,再通过
xr.DataArray完成转换并绑定维度名称与坐标:
# 定义各维度对应的坐标集合 income_coords = [0, 1, 2] sex_coords = [0, 1] bmi_coords = ['low', 'med', 'high'] # 转换为Xarray DataArray,指定维度名称和对应坐标 xr_array = xr.DataArray( data=a, dims=['income', 'sex', 'BMI'], # 维度顺序严格匹配原数组shape(3,2,3)的三个轴 coords={ 'income': income_coords, 'sex': sex_coords, 'BMI': bmi_coords } ) # 查看转换后的结果 print(xr_array)
执行后会得到一个带有明确维度名称和对应坐标的Xarray对象,其中income对应原数组的第一个轴(长度3)、sex对应第二个轴(长度2)、BMI对应第三个轴(长度3)。
内容的提问来源于stack exchange,提问作者Stata_user
相关产品推荐
相关产品推荐

