首页 > 解决方案 > 如何使 pandas 数据框行中的类型成为列标题,结果为行类型?

问题描述

我在以下设置中有一个 df 结构,并希望对其进行更改,以便在列type中找到的类型是行读取器,将原始result列作为新类型列的行,将所有内容压缩ids为一行。例如,我想更改下表:

ID 姓名 类型 结果
一种 苹果 1 X
一种 苹果 2 X
一种 苹果 3 X
香蕉 1
香蕉 2
C 哈密​​瓜 2 Z
C 哈密​​瓜 3 Z
... ... ... ...

到:

ID 姓名 1 2 3
一种 苹果 X X X
香蕉 没有任何
C 哈密​​瓜 没有任何 Z Z
... ... ...

标签: pythonpandasdataframe

解决方案


尝试:pivot_table_rename_axis

>>> df.pivot_table('result', ['id', 'name'], 'type', aggfunc=''.join).reset_index().rename_axis(columns=None)
  id        name    1  2    3
0  A       Apple    X  X    X
1  B      Banana    Y  Y  NaN
2  C  Cantaloupe  NaN  Z    Z
>>> 

推荐阅读