python-xarray - 具有二级索引的一维 xarray
问题描述
我想要一个带有“主”索引的一维数组,然后将其他索引添加到同一轴。例如,如果我的数据看起来像这样,
[(a1, b1), (a2, b2), ..., (an, bn)]
我可以按索引索引元组中的第一个值。我怎样才能做到这一点xarray
?
解决方案
Xarray 的术语是“多维坐标”。例子:
import xarray as xr
import numpy as np
data = np.random.random(4)
z = np.arange(4)
x = np.arange(2, 9, 2)
y = np.arange(4) + 100
coords = dict(z=z, x=('z', x), y=('z', y))
arr = xr.DataArray(data, dims=["z"], coords=coords)
并且arr
是
<xarray.DataArray (z: 4)>
array([0.665017, 0.136371, 0.547075, 0.586285])
Coordinates:
* z (z) int64 0 1 2 3
x (z) int64 2 4 6 8
y (z) int64 100 101 102 103
然后你可以做一些不错的事情,比如
>>> arr.where(arr.y > 100)
<xarray.DataArray (z: 4)>
array([ nan, 0.136371, 0.547075, 0.586285])
Coordinates:
* z (z) int64 0 1 2 3
x (z) int64 2 4 6 8
y (z) int64 100 101 102 103
但我们仍在处理一维对象:
arr.shape # (4,)
arr.dims # ('z',)
推荐阅读
- flutter-getx - Flutter getx 在更改语言翻译时正在更改 var 状态,这是不应该做的
- reactjs - 如何使用函数构造函数将类组件转换为函数式?
- c# - 如何在没有事件/委托回调的情况下在 Unity 中创建 MessageBox?
- electron - 电子锻造不使用图标
- javascript - 如何在反应中编写正确的表单验证?
- node.js - 从 nodejs 上的弹性搜索中获取新添加的文档
- python - fpdf设置页边距在python中不起作用
- javascript - 无法从对象数组中获取数据 | React.js - openweatherAPI
- python - Python从另一个函数内部退出线程函数
- memory - 对于 Rust 中的多个可变引用,同步如何成为问题?