![](/img/trans.png)
[英]How can I do partial indexing on Pandas MultiIndexed DataFrame?
[英]How can I (or should I) transform this DataFrame of DataFrames into a MultiIndexed DataFrame?
我有一個像這樣的Series DataFrames的DataFrame:
state1 state2 state3 ...
sym1 sym2 sym3 sym1 sym2 sym3 sym1 sym2 sym3 ...
date1 1 2 3 4 5 6 7 8 9 ...
date2 10 11 12 13 14 15 16 17 18 ...
date3 19 20 21 22 23 24 25 26 27 ...
... ... ... ... ... ... ... ... ... ... ...
state1
, state2
等都是各個狀態的DataFrame。 sym1
, sym2
等都是症狀時間序列。 這使我可以執行以下操作:
>>> df['Alabama']['Chills']
2012-07-01 58
2012-07-02 64
2012-07-03 61
2012-07-04 23
2012-07-05 48
2012-07-06 63
2012-07-07 33
2012-07-08 55
2012-07-09 56
2012-07-10 39
2012-07-11 61
2012-07-12 28
2012-07-13 24
2012-07-14 51
2012-07-15 59
2012-07-16 75
2012-07-17 52
2012-07-18 61
2012-07-19 65
2012-07-20 40
2012-07-21 56
2012-07-22 13
2012-07-23 44
2012-07-24 23
2012-07-25 28
2012-07-26 29
2012-07-27 18
2012-07-28 16
2012-07-29 42
2012-07-30 53
...
2014-06-02 143
2014-06-03 133
2014-06-04 102
2014-06-05 139
2014-06-06 119
2014-06-07 74
2014-06-08 180
2014-06-09 136
2014-06-10 135
2014-06-11 106
2014-06-12 73
2014-06-13 102
2014-06-14 75
2014-06-15 57
2014-06-16 234
2014-06-17 143
2014-06-18 182
2014-06-19 115
2014-06-20 184
2014-06-21 171
2014-06-22 77
2014-06-23 211
2014-06-24 202
2014-06-25 95
2014-06-26 137
2014-06-27 98
2014-06-28 138
2014-06-29 165
2014-06-30 136
2014-07-01 43
Freq: D, Name: Chills, dtype: int64
但是,我不確定這是否是安排數據的最佳方式。 我當時在看MultiIndices ,這將允許我執行以下操作:
state1 sym1 date1 1
date2 10
date3 19
sym2 date1 2
date2 11
date3 20
sym3 date1 3
date2 12
date3 21
state2 sym1 date1 4
date2 13
... ...
我有兩個問題:
謝謝!
對於第一個問題,我認為您是對的,再加上Pandas為分層索引的數據框(例如切片器)提供了方便的索引方法。
關於如何將數據結構轉換為按層次結構索引的數據框,首先,需要將每個狀態的數據框合並在一起以形成水平結構,然后可以使用轉置和堆棧將其重新排列為垂直結構。
In [95]: df
Out[95]:
state1 state2 state3
sym1 sym2 sym3 sym1 sym2 sym3 sym1 sym2 sym3
0
date1 1 2 3 4 5 6 7 8 9
date2 10 11 12 13 14 15 16 17 18
date3 19 20 21 22 23 24 25 26 27
In [96]: df.T.stack()
Out[96]:
state1 sym1 date1 1
date2 10
date3 19
sym2 date1 2
date2 11
date3 20
sym3 date1 3
date2 12
date3 21
state2 sym1 date1 4
date2 13
date3 22
sym2 date1 5
date2 14
date3 23
sym3 date1 6
date2 15
date3 24
state3 sym1 date1 7
date2 16
date3 25
sym2 date1 8
date2 17
date3 26
sym3 date1 9
date2 18
date3 27
dtype: int64
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.