Python 从xarray中选择一列

Python 从xarray中选择一列,python,python-3.x,python-xarray,Python,Python 3.x,Python Xarray,如何从xarray.DataArray中选择列?我就是这样做的 import xarray as xr import numpy as np import pandas as pd my_data = np.random.rand(5,2) da = xr.DataArray(my_data, coords={'my_id':np.arange(my_data.shape[0]), 'columns': [

如何从
xarray.DataArray
中选择列?我就是这样做的

import xarray as xr
import numpy as np
import pandas as pd

my_data = np.random.rand(5,2)
da = xr.DataArray(my_data, 
                  coords={'my_id':np.arange(my_data.shape[0]),
                         'columns': ['x', 'y']},
                  dims=['my_id', 'columns'])
我想选择
列x
。如果那是一个
数据帧

df = pd.DataFrame(my_data, columns=['x','y'])
我正在寻找与df['x']

我是不是用错误的方式定义了
数据数组?

直接从文档:

结果

df['x']

Out[27]: 
my_id
0    0.752056
1    0.048029
2    0.145835
3    0.083147
4    0.618351
Name: x, dtype: float64

啊,好吧,我想我明白了:

da.sel(columns='x')

您可以按照以下建议使用熊猫,如
.loc

da.loc[:,['x']]
数组([[0.534358],
[ 0.113875],
[ 0.905085],
[ 0.96994 ],
[ 0.548338]])
协调:
*我的id(我的id)int32 0 1 2 3 4
*列(列)
da.sel(columns='x')
da.loc[:, ['x']]

<xarray.DataArray (my_id: 5, columns: 1)>
array([[ 0.534358],
       [ 0.113875],
       [ 0.905085],
       [ 0.96994 ],
       [ 0.548338]])
Coordinates:
  * my_id    (my_id) int32 0 1 2 3 4
  * columns  (columns) <U1 'x'