【发布时间】:2021-01-03 20:00:47
【问题描述】:
我今天刚从 R 切换到 python,如果我的问题可能不精确,请见谅。
首先:我想做什么/拥有什么: 我有一组 x 和 y 坐标,也是一个 numpy 数组。目标是获取x和y给定的坐标对应的具体元素:
import numpy as np
x=[0,1]
y=[0,1]
arr = np.array([[1,2],[3,4]])
arr[x,y]
结果是一个包含 1 和 4 的数组,正是我想要的。到目前为止很容易。但现在我有一个变量,我们称之为 var,类型为 xarray.core.variable.Variable 我想从中提取单点,就像上面的 numpy 示例一样。到目前为止我发现的方式是
var = xr.DataArray.to_masked_array(var)
但是现在我得到了 2 个数组,一个包含值,一个包含一些可疑的布尔元素。所以这是我的问题:
是否有可能让 xarray 的元素类似于 numpy 示例,或者,是否有一种快速的方法可以将 xarray.core.variable.Variable 类型转换为 numpy.ndarray?
速度至关重要,所以没有循环!仅作为背景,我从中获取变量 var 的每个文件都是 几个 GB 的大小,维度为 (125,6,824,848)。所以摆脱那个布尔副本会很好。
非常感谢您的帮助:)
【问题讨论】:
-
为什么要用
.to_masked_array?
标签: python-3.x numpy python-xarray