【发布时间】:2021-10-07 15:56:25
【问题描述】:
我的问题似乎重复,因为我发现不同的问题具有相同的错误,如下所示:
Pandas: grouping a column on a value and creating new column headings
Python/Pandas - ValueError: Index contains duplicate entries, cannot reshape
Pandas pivot produces "ValueError: Index contains duplicate entries, cannot reshape
我尝试了这些帖子中提供的所有解决方案,但都没有奏效。我相信这个错误可能是由我的数据集格式引起的,它有字符串而不是数字,并且可能是重复的整数。以下是我的数据集的示例:
| protocol_no | activity | description |
|---|---|---|
| 1586212 | walk | twice a day |
| 1586212 | drive | 5 km |
| 1586212 | drive | At least 30 min |
| 1586212 | sleep | NaN |
| 1586212 | eat | 1500 calories |
| 2547852 | walk | NaN |
| 2547852 | drive | NaN |
| 2547852 | eat | 3200 calories |
| 2547852 | eat | Avoid pasta |
| 2547852 | sleep | At least 10 hours |
我想要实现的输出是:
| protocol_no | walk | drive | sleep | eat |
|---|---|---|---|---|
| 1586212 | twice a day | 5km | NaN | 1500 calories |
| 2547852 | NaN | NaN | 3200 calories | At least 10 hours |
我尝试通过如下代码使用 pivot 和 pivot_table:
df.pivot(index="protocol_no", columns="activity", values="description")
但我仍然收到此错误:
ValueError: Index contains duplicate entries, cannot reshape
不知道出了什么问题,所以任何帮助都会有所帮助!
编辑:
我注意到我的数据包含重复的整体,如错误以及@DYZ 和@SeaBean 用户所述。所以我编辑了数据库示例并为我的数据集提供了正确的答案。希望它可以帮助某人。
【问题讨论】:
-
我对提供的数据执行了您的数据透视语句,但没有收到任何错误消息。您是否在实验中使用了相同的数据?
-
并非如此。我的数据是严格保密的,所以我不能分享它。我提供了一个类似的例子,但正如你所说,这还不够。