包含数组值的Python数据透视表



对于一个具有表特性的项目,我尝试用pivot_table创建一个新表。然而,一个小问题是,我的一个列包含一个数组。这里有一个ex

| House  | Job | 
| ----- | --- |
| Gryffindor  | ["Head of Auror Office", " Minister for Magic"]| 
| Gryffindor  | ["Auror"]|
| Slytherin | ["Auror","Student"] |

理想情况下,我想用一个数据透视表创建一个表,看起来像这样

| House | Head of Auror Office | Minister for Magic | Auror | Student |
|:----- |:--------------------:|:------------------:|:-----:|:-------:|
| Gryffindor  | 1 | 1| 1| 0|
| Slytherin  | 0 | 0| 1| 1|

当然,我可以在数组中有2 3或4这样的值,这是不固定的。有人有解决办法吗?也许透视表不是最好的解决方案:/

对不起,数组不工作:(

假设您的表是df,有两列:

(df.explode('Job')
.groupby(['House', 'Job']).size().reset_index()
.pivot(index = 'House', columns = 'Job').fillna(0))

代码首先将列表展开为行,然后进行计数,最后执行数据透视表

最新更新