我有一个包含 2,865,044 个条目的数据框,其中包含 3 级 MultiIndex
MultiIndex.levels.names = ['year', 'country', 'productcode']
我正在尝试重塑数据框以生成宽数据框,但出现错误:
ReshapeError: Index contains duplicate entries, cannot reshape
我用过:
data[data.duplicated()]
识别导致错误的行,但它列出的数据似乎不包含任何重复项。
这导致我使用 to_csv() 导出我的数据框并在 Stata 中打开数据并使用重复列表命令来查找数据集不包含重复项(根据 stata)。
已排序 csv 文件的示例:
year country productcode duplicate
1962 MYS 711 FALSE
1962 MYS 712 TRUE
1962 MYS 721 FALSE
我知道这是一个长镜头,但想法可能是什么原因造成的?每个索引列中的数据类型为 ['year': int; “国家”:str,“产品代码”:str]。可能是熊猫如何定义独特的群体吗?列出有问题的索引行有什么更好的方法吗?
更新: 我试过重置索引
temp = data.reset_index()
dup = temp[temp.duplicated(cols=['year', 'country', 'productcode'])]
我得到一个完全不同的清单!
year country productcode
1994 HKG 9710
1994 USA 9710
1995 HKG 9710
1995 USA 9710
更新 2 [2013 年 6 月 28 日]:
在我的 IPython 会话期间,这似乎是一个奇怪的内存问题。今天早上的新鲜实例,似乎工作正常,无需对昨天的代码进行任何调整即可重塑数据!如果问题再次出现,我将进一步调试并通知您。任何人都知道 IPython 会话的良好调试器吗?