首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解xarray群

理解xarray群
EN

Stack Overflow用户
提问于 2016-06-28 00:13:03
回答 1查看 1.9K关注 0票数 2

我正在努力计算每组成员的数量,类似于pandas.DataFrame.groupby.count。然而,它似乎不起作用。下面是一个示例:

代码语言:javascript
复制
In [1]: xr_test = xr.DataArray(np.random.rand(6), coords=[[10,10,11,12,12,12]], dims=['dim0'])
        xr_test
Out[1]: <xarray.DataArray (dim0: 6)>
        array([ 0.92908804,  0.15495709,  0.85304435,  0.24039265,  0.3755476 ,
                0.29261274])
        Coordinates:
          * dim0     (dim0) int32 10 10 11 12 12 12

In [2]: xr_test.groupby('dim0').count()
Out[2]: <xarray.DataArray (dim0: 6)>
        array([1, 1, 1, 1, 1, 1])
        Coordinates:
          * dim0     (dim0) int32 10 10 11 12 12 12

但是,我期望这个输出:

代码语言:javascript
复制
Out[2]: <xarray.DataArray (dim0: 3)>
        array([2, 1, 3])
        Coordinates:
          * dim0     (dim0) int32 10 11 12

到底怎么回事?

换言之:

代码语言:javascript
复制
In [3]: xr_test.to_series().groupby(level=0).count()
Out[3]: dim0
        10    2
        11    1
        12    3
        dtype: int64
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-28 10:39:53

这是个虫子!Xarray目前做出了(在本例中是错误的)假设,即与维度对应的坐标具有所有唯一的值。这通常是个好主意,但不应该是必需的。如果您做了另一个坐标,这应该工作正常,例如,xr_test = xr.DataArray(np.random.rand(6), coords={'aux': ('x', [10,10,11,12,12,12])}, dims=['x']) xr_test.groupby('aux').count()

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38065129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档