Y. *_*eng 5 python pandas python-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
Run Code Online (Sandbox Code Playgroud)
当我使用xr.DataSet.from_dataframe, or 时df.to_xarray,我收到以下错误消息:
cannot handle a non-unique multi-index!
有人知道这里发生了什么吗?
数据框的多索引有重复的条目,xarray 无法将其拆分为多维数组——假设数组的元素不会具有唯一值。
您需要先删除索引中的重复条目,例如,如删除带有重复索引的熊猫行中所述:
df[~df.index.duplicated()]df.groupby(level=df.index.names).mean()完成此操作后,您可以安全地将数据帧转换为 xarray。
在这种情况下df.columns.is_unique会返回False。要确定哪一个是重复的,您可以通过 来查看每个列对的频率df.columns.value_counts()。为了使多重索引正常工作,它应该显示1所有元组。