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

新手上路,请多包涵

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

 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!

有人知道这里发生了什么吗?

原文由 Y. Peng 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 527
1 个回答

您的数据框的多索引有重复的条目, xarray 无法将其分解为多维数组——假设数组的元素不会有唯一值。

您需要先删除索引中重复的条目,例如,如 删除具有重复索引的熊猫行 中所述:

  • 最简单的选择是删除重复项,例如 df[~df.index.duplicated()]
  • 您也可以使用 groupby 操作,例如,计算平均值: df.groupby(level=df.index.names).mean()

完成此操作后,您可以安全地将数据帧转换为 xarray。

原文由 shoyer 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏