在 pandas 索引和列中旋转具有相同的列

pivotting in pandas index and column has same column

我有数据框

data=pd.DataFrame({'year':[2010,2010,2010,2011,2011,2011],
'position':[1,2,3,1,2,3],
'name':['a','a','b','c','c','d'],
'points':[34,36,32,14,15,16],
'team':['A','B','C','C','B','A'],
'venue':['ny','ny','ny','cali','cali','cali']})

我的代码:

data.pivot(index=['position','name'],columns='year',values='points')

它有效,但对于实际数据集,我必须将年份作为索引,否则它说重复索引我们可以解决吗我需要索引和列中的年份

您可以使用支持重复的pivot_table()

data.pivot_table(index=['position', 'name'], columns='year', values='points')

默认情况下,它会对重复项进行平均。如果您喜欢不同的聚合,您可以指定 aggfunc,例如取最大值:

data.pivot_table(index=['position', 'name'], columns='year', values='points',
                 aggfunc='max')