Pandas数据透视表并保留两列作为组合标识符

时间:2020-11-10 15:45:30

标签: python pandas

所以我有一个外部系统,可以从中获取一些数据。 格式如下:

+----+-----------+------------+-------+
| id | sessionId |  element   | value |
+----+-----------+------------+-------+
|  1 |         0 | extrainfo1 |    11 |
|  1 |         0 | extrainfo2 |    12 |
|  2 |         0 | extrainfo1 |    21 |
|  2 |         0 | extrainfo2 |    22 |
|  2 |         1 | extrainfo1 |    31 |
|  2 |         1 | extrainfo2 |    32 |
+----+-----------+------------+-------+

我需要这种格式:

+----+-----------+------------+------------+
| id | sessionId | extrainfo1 | extrainfo2 |
+----+-----------+------------+------------+
|  1 |         0 |         11 |         12 |
|  2 |         0 |         21 |         22 |
|  2 |         1 |         31 |         32 |
+----+-----------+------------+------------+

我尝试过

sf_pivot = sessionfields.pivot(index='id', columns=['sessionId','element'], values='value')

但这返回此:

+-----------+------------+------------+------------+------------+
| sessionId |     0      |            |     1      |            |
+-----------+------------+------------+------------+------------+
| element   | extrainfo1 | extrainfo2 | extrainfo1 | extrainfo2 |
| id        |            |            |            |            |
| 1         | 11         | 12         |            |            |
| 2         | 21         | 22         | 31         | 32         |
+-----------+------------+------------+------------+------------+

我试图将其拆开,但是似乎没有用。

要在进行数据透视时将sessionId作为索引或值中的值似乎也不起作用,我会在此得到重复的错误。

0 个答案:

没有答案