- 此问题在此处已有答案**:
How can I pivot a dataframe?(5个答案)
2小时前关门了。
我有一个表需要转置,它看起来像这样:
| User ID| Week | clicks | days|
|------- |------| -------|-----|
| x | 1 | 1 | 1 |
| x | 2 | 2 | 3 |
| y | 1 | 3 | 2 |
| y | 2 | 3 | 2 |
| y | 3 | 4 | 3 |
我需要的输出如下所示:
| User ID| clicks week 1| clicks week 2| clicks week 3| days week 1| days week 2| days week 3|
|--------|--------------| -------------|------------- |------------| -----------|------------|
| x | 1 | 2 | 0 | 1 | 3 | 0 |
| y | 3 | 3 | 4 | 2 | 2 | 3 |
对于每个用户,我需要一个单行,对于每个类别,我需要每周一列(如果用户在一周内没有活动,则写0)。
你知道怎么做吗?
谢谢!
3条答案
按热度按时间vbopmzt11#
您可以将
.pivot()
与.fillna()
一起使用:这将输出:
6vl6ewon2#
您可以尝试Pandas枢轴法:
tpgth1q73#
你可以用多种方法来做。no 1.你可以使用
.pivot
并赋值index='User ID'
,columns='Week'
,values=['clicks', "days"]
**no 2.**如果需要聚合,可以使用
groupby
+unstack
。groupby
方法用于按列对数据进行分组,unstack
用于透视数据。否3另一种解决方案是使用
set_index
+unstack