我正在尝试将数据帧转换为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_dataframe或df.to_xarray时,我得到以下错误消息:
cannot handle a non-unique multi-index!
有人知道这是怎么回事吗?
发布于 2019-01-04 03:28:30
数据框的多索引具有重复的条目,xarray不能将其拆分成多维数组--假设数组的元素不会有唯一的值。
您需要首先删除索引中的重复条目,例如,如Remove pandas rows with duplicate indices中所述
分组均值最简单的选择是丢弃重复项,例如,df[~df.index.duplicated()]
完成此操作后,就可以安全地将dataframe转换为xarray。
发布于 2020-04-02 20:02:11
在本例中,df.columns.is_unique将返回False。要识别哪个列在重复,您可以通过df.columns.value_counts()查看每个列对的频率。为了让多重索引起作用,它应该为所有元组显示1。
发布于 2019-05-21 12:24:50
当您通过to_xarray将csv转换为netcdf时,头部的排列与您的cod中的排列相同是很重要的,否则您将得到error: cannot handle a non-unique multi-index。
https://stackoverflow.com/questions/54028365
复制相似问题