Pandas透视以分解列并填充值?[重复]

icnyk63a  于 2023-01-24  发布在  其他
关注(0)|答案(1)|浏览(87)
    • 此问题在此处已有答案**:

How can I pivot a dataframe?(5个答案)
3小时前关门了。
我有一个像这样的Pandas Dataframe

movie, week, sales
-----, ----, ------
1,    1,     100
...
1,    52,    200 
2,    1,     500,
...

我实际上想让它看起来像是

movie, week_1, ... week_52, 
1,     1,          200
2,     1,          500

实际上,每部电影对应一行,每星期对应一列,df[movie, week]的值等于那部电影在那一周的销售额
我试过df.transpose()df.pivot(columns=['week', 'sales']),但都没有达到预期的效果。
Pandas是怎么做到的?

ego6inou

ego6inou1#

你可以用以下方法在Pandas身上实现这一点:

df = df.pivot_table(index='movie', columns='week', values='sales')

如果要将列命名为week_1week_2 ...,还可以用途:

df.columns = [f'week_{x}' for x in df.columns]

相关问题