用最简单的方式提出问题——这段代码的最后一行是如何工作的?
import numpy as np
import xarray as xr
tmp = xr.DataArray(np.random.rand(100,100))
howthiswork = np.array(tmp)
我的印象是 pandas 是建立在顶部 numpy链接上的,然后 xarray 有点基于 pandas链接。但是,我没有找到任何说明 numpy 本身支持 xarray.DataArray 的信息,而且使用 xarray 的人并不多于 numpy。那么为什么我可以用 xarray.DataArray 对象初始化 numpy.ndarray 呢?我的一个猜测是 xarray 包中提供了相应的支持,但我没有看到 xarray 包中的代码可能影响 numpy.ndarray.__init__(或 numpy 包中的任何函数)的机制。
谁能给我解释一下这种上下支持是如何实现的?