This question already has answers here:
How to pivot a dataframe
                                
                                    (2个答案)
                                
                        
                                在11个月前关闭。
            
                    
我有下表:

+-----------+------+-------+
| member_id | year | count |
+-----------+------+-------+
|         1 | 2012 |     1 |
|         1 | 2013 |     0 |
|         1 | 2014 |     1 |
|         2 | 2012 |     2 |
|         2 | 2013 |     0 |
|         2 | 2014 |     1 |
+-----------+------+-------+


我想把它变成这样:

+-----------+------------+------------+------------+
| member_id | count_2012 | count_2013 | count_2014 |
+-----------+------------+------------+------------+
|         1 |          1 |          0 |          1 |
|         2 |          2 |          0 |          1 |
+-----------+------------+------------+------------+


我尝试了分组,然后进行枢轴旋转,也只是进行枢轴旋转,但是枢轴需要和aggfunc,并且我不是在尝试更改值,而只是在重塑它。

最佳答案

df = df.pivot(index='member_id',columns='year', values='count')


如果您不想将member_id作为索引:

df = df.pivot(index='member_id',columns='year', values='count').reset_index()

10-02 05:03
查看更多