2
我试图做一个坐标变换与我xarray坐标,以便xarray广播如何使用numpy函数工作?
我有一个DataArray中,如:
d = xr.DataArray(np.zeros((10, 10, 1)), dims=['x', 'y', 'z']
和正在做的操作,如:
r = np.sqrt(d.x**2 + d.y**2 + d.z**2)
theta = np.arctan2(np.sqrt(d.x**2 + d.y**2), d.z)
phi = np.arctan2(d.y, d.x)
我得到的形状:
In [212]: r.shape
Out[212]: (10, 10, 1)
In [214]: theta.shape
Out[214]: (10, 10)
In [216]: phi.shape
Out[216]: (10,)
我想看看(10, 10, 1)
形状,我得到他们所有的r。
它看起来像xarray的奇特广播只是基本的算术运算,numpy功能是天真地播放。
这是正确的吗?
有没有经过认可的方法来解决这个问题?我可以编写自己的xarray感知arctan2函数来获得播放权,但我希望我不必这样做。