首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这是什么意思?xarray错误:无法处理不唯一的多索引

这是什么意思?xarray错误:无法处理不唯一的多索引
EN

Stack Overflow用户
提问于 2019-01-04 03:07:25
回答 3查看 21.4K关注 0票数 7

我正在尝试将数据帧转换为xarray。头部是这样的:

代码语言:javascript
复制
z   Class    DA       x          y          iline      xline      idz                                                      
2     651   289  1455.0        2.0        0.62239  2345322.0  76720.0
            290  1460.0        0.0        0.46037  2345322.0  76720.0
            291  1465.0        4.0        0.41280  2345322.0  76720.0
            292  1470.0        0.0        0.39540  2345322.0  76720.0
            293  1475.0        2.0        0.61809  2345322.0  76720.0

当我使用xr.DataSet.from_dataframedf.to_xarray时,我得到以下错误消息:

cannot handle a non-unique multi-index!

有人知道这是怎么回事吗?

EN

回答 3

Stack Overflow用户

发布于 2019-01-04 03:28:30

数据框的多索引具有重复的条目,xarray不能将其拆分成多维数组--假设数组的元素不会有唯一的值。

您需要首先删除索引中的重复条目,例如,如Remove pandas rows with duplicate indices中所述

分组均值最简单的选择是丢弃重复项,例如,df[~df.index.duplicated()]

  • You也可以使用分组操作,例如,计算:

完成此操作后,就可以安全地将dataframe转换为xarray。

票数 13
EN

Stack Overflow用户

发布于 2020-04-02 20:02:11

在本例中,df.columns.is_unique将返回False。要识别哪个列在重复,您可以通过df.columns.value_counts()查看每个列对的频率。为了让多重索引起作用,它应该为所有元组显示1

票数 2
EN

Stack Overflow用户

发布于 2019-05-21 12:24:50

当您通过to_xarray将csv转换为netcdf时,头部的排列与您的cod中的排列相同是很重要的,否则您将得到error: cannot handle a non-unique multi-index

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

https://stackoverflow.com/questions/54028365

复制
相关文章

相似问题

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