gpt4 book ai didi

python - 将数据透视表值移动到行

转载 作者:太空宇宙 更新时间:2023-11-03 17:42:51 25 4
gpt4 key购买 nike

是否可以将传递给values参数的列按行定位?我遇到的问题的一个例子:

import datetime

df = pd.DataFrame({'A': ['one', 'one', 'two', 'three'] * 6,
'B': ['A', 'B', 'C'] * 8,
'C': ['foo', 'foo', 'foo', 'bar', 'bar', 'bar'] * 4,
'D': np.random.randn(24),
'E': np.random.randn(24),
'F': [datetime.datetime(2013, i, 1) for i in range(1, 3)] * 12
})

这会产生以下数据帧:

        A  B    C         D         E          F
0 one A foo -0.152738 2.407996 2013-01-01
1 one B foo -1.113901 0.597699 2013-02-01
2 two C foo -0.587265 -0.878725 2013-03-01
3 three A bar -0.734618 -0.252295 2013-04-01
4 one B bar 0.359421 1.181750 2013-05-01
5 one C bar -0.303491 0.473419 2013-06-01
6 two A foo -0.275638 0.360602 2013-07-01

应用pivot_table

>>> df.pivot_table(index=['A','B','C'], columns='F', values=['D','E'])

D E
F 2013-01-01 2013-02-01 2013-01-01 2013-02-01
A B C
one A bar NaN 0.878219 NaN -0.004981
foo -0.164395 NaN -0.254941 NaN
B bar 1.239046 NaN 1.265536 NaN
foo NaN 0.181584 NaN 0.449861
C bar NaN -0.823104 NaN -0.317757
foo -1.784723 NaN 0.169650 NaN
three A bar NaN 1.228297 NaN 0.467856
B foo NaN 0.065234 NaN 0.061998
C bar NaN 0.738302 NaN 0.908946
two A foo -0.227953 NaN -1.067442 NaN
B bar 0.336351 NaN -0.522268 NaN
C foo -0.279180 NaN 0.335666 NaN

我希望 D、E 和 F 列显示在 MultiIndex 行下方,只保留日期。

最佳答案

堆叠你的第一个级别:

>>> df.pivot_table(index=['A','B','C'], columns='F', values=['D','E']).stack(0)

F 2013-01-01 2013-02-01
A B C
one A bar D NaN -0.326106
E NaN -0.882319
foo D 0.147015 NaN
E -0.121944 NaN
B bar D 0.133723 NaN
E 0.182735 NaN
foo D NaN 0.158913
E NaN 0.365275
C bar D NaN 0.495230
E NaN 1.098515
foo D -0.624333 NaN
E 0.214979 NaN
three A bar D NaN 0.101431
E NaN -0.352368
B foo D NaN 0.405091
E NaN 0.389888
C bar D NaN 0.804457
E NaN -0.572397
two A foo D 0.127069 NaN
E 0.105038 NaN
B bar D -1.052195 NaN
E 0.728630 NaN
C foo D -0.643464 NaN
E -0.440381 NaN

关于python - 将数据透视表值移动到行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30247110/

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