首页 > 解决方案 > 获取 ValueError:索引包含重复的条目,无法重塑

问题描述

我有一个包含如下结构的大数据框:

   id  year  QTY_SOLD  QTY_PUR  QTY_MFG
0   1  2016         9      2.0       10
1   1  2017         9      0.0       10
2   1  2018         0      2.0       10
3   1  2018         2      1         3
4   2  2016         7      2.0       11
5   2  2017         2      0.0        0
6   2  2018         0      0.0       18

我创建了一个数据透视表,如果 Quantity sold、purchased 和 mfg 的值不为零,则数据透视表如下所示:

df['str'] = (df.iloc[:, -3:].astype(bool) * ['S', 'P', 'M']).apply(lambda x: '_'.join([v for v in x if v]), axis=1)
df_pivot = df.pivot(index='id', columns='year', values='str') 

year   2016 2017 2018
id                   
1     S_P_M  S_M  P_M
2     S_P_M    S    M

但我得到以下错误:

ValueError: Index contains duplicate entries, cannot reshape

有人可以告诉我为什么会发生这种情况吗?数据框很大,我只发布了几行。

标签: python-3.xpandas

解决方案


推荐阅读