python-3.x - 获取 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
有人可以告诉我为什么会发生这种情况吗?数据框很大,我只发布了几行。
解决方案
推荐阅读
- mysql - MySQL以设定的间隔移动日期范围
- visual-studio-code - 在 VSCode 中使用 Rust Cargo TOML 变量?
- javascript - 将内容动态添加到现有的 div 元素
- apache-kafka - 无法使用 pykafka 发送消息
- flutter - Flutter 中的窗口是否可复制
- oracle - ASH: IN_PARSE 和 IN_SQL_EXECUTION 同时?
- python - 为什么使用正则表达式的 str.match 在 Pandas 中不起作用
- batch-file - 用户只能按数字文件夹选择列表
- vb.net - 图表未正确绘制数据 (Visual Basic)
- facebook - 如何解决 facebook 登录插件配置器错误?