Pandas 将分组的列项目移动为列

Pandas move grouped column items as columns

假设我有以下数据框 -

import pandas as pd
df = pd.DataFrame({'c1': ['a', 'a', 'a', 'b', 'b', 'c'], 'c2': ['x', 'y', 'z', 'y', 'x', 'x'], 'c3': [1, 2, 3, 4, 5, 2]})
    c1  c2  c3
0   a   x   1
1   a   y   2
2   a   z   3
3   b   y   4
4   b   x   5
5   c   x   2

df.groupby(['c1', 'c2']).mean()产生

很好,但需要像图片一样的形式。

IIUC,你只想旋转你的 df:

df = df.pivot(index=['c1'],columns = 'c2')

输出:

>>
     c3          
c2    x    y    z
c1               
a   1.0  2.0  3.0
b   5.0  4.0  NaN
c   2.0  NaN  NaN