gpt4 book ai didi

Pandas 枢轴?数据透视表?熔化?堆叠还是拆开?

转载 作者:行者123 更新时间:2023-12-04 15:20:49 25 4
gpt4 key购买 nike

我有一个如下所示的数据框:

       id    Revenue  Cost  qty  time
0 A 400 50 2 1
1 A 900 200 8 2
2 A 800 100 8 3
3 B 300 20 1 1
4 B 600 150 4 2
5 B 650 155 4 3

我正在努力做到这一点:

       id    Type       1      2      3     
0 A Revenue 400 900 800
1 A Cost 50 200 100
2 A qty 2 8 8
3 B Revenue 300 600 650
4 B Cost 20 150 155
5 B qty 1 4 4

时间总是重复 1-3,所以我需要在时间上转置或转置 1-3 列

到目前为止,这是我尝试过的:

  pd.pivot_table(df, values = ['Revenue', 'qty', 'Cost'] , index=['id'], columns='time').reset_index()

但这只是一张很长的 table ,它把所有东西并排放置,而不是像这样堆叠:

   Revenue                   qty                Cost
1 2 3 1 2 3 1 2 3

在那种情况下,我需要将 Revenue、qty 和 Cost 转换成一行,并只使用 1、2、3 作为列名。因此,每个“类型”的 ID 都会重复,但会根据时间 1-3 列出。

最佳答案

我们仍然可以执行unstackstack

df.set_index(['id','time']).stack().unstack(level=1).reset_index()
Out[24]:
time id level_1 1 2 3
0 A Revenue 400 900 800
1 A Cost 50 200 100
2 A qty 2 8 8
3 B Revenue 300 600 650
4 B Cost 20 150 155
5 B qty 1 4 4

关于 Pandas 枢轴?数据透视表?熔化?堆叠还是拆开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63349552/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com