1
是否可以讓傳遞給values參數的列按行定位?這個問題的一個例子,我有:將pivot_table值移動到行
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(指數= [ 'A', 'B', 'C'],列= 'F',值= [ 'd', 'E', 'F'])。Swaplevel爲(0,1,軸= 1)'? – EdChum