0
我想在django查詢集中生成數據,同時在索引列上保留原始(非字母)排序順序。這些數據將在谷歌可視化折線圖中使用。支持數據並保持原始排序順序
我把我自己的代碼一起做了這個工作,但它有點難看,我想知道是否可以使用pandas DataFrame樞軸來完成。
我從來沒有用過熊貓,所以在閱讀了doco之後,這就是我想出來的。
這裏是我未發表的數據框,按日期和高音排序,其中男高音後綴表示:D =日,M =月,Y =年。
df = DataFrame(data)
date tenor value
0 2014-01-01 1D 0.517125
1 2014-01-01 1M 0.5175
2 2014-01-01 2M 0.518159
3 2014-01-01 3M 0.5187
4 2014-01-01 4M 0.51912
5 2014-01-01 5M 0.51949
6 2014-01-01 6M 0.5197
7 2014-01-01 9M 0.519511
8 2014-01-01 1Y 0.5198
9 2014-01-01 18M 0.521228
10 2014-01-01 2Y 0.523097
11 2014-01-01 3Y 0.525054
12 2014-01-01 4Y 0.527055
13 2014-01-01 5Y 0.529054
14 2014-01-01 6Y 0.531099
15 2014-01-01 7Y 0.532852
16 2014-01-01 8Y 0.534207
17 2014-01-01 9Y 0.535314
18 2014-01-02 1D 0.517874
19 2014-01-02 1M 0.5181
20 2014-01-02 2M 0.518451
21 2014-01-02 3M 0.5188
22 2014-01-02 4M 0.519113
23 2014-01-02 5M 0.519418
24 2014-01-02 6M 0.5196
25 2014-01-02 9M 0.519377
26 2014-01-02 1Y 0.5197
27 2014-01-02 18M 0.521406
28 2014-01-02 2Y 0.523405
29 2014-01-02 3Y 0.525254
30 2014-01-02 4Y 0.527151
31 2014-01-02 5Y 0.529256
32 2014-01-02 6Y 0.531543
33 2014-01-02 7Y 0.533457
34 2014-01-02 8Y 0.534802
35 2014-01-02 9Y 0.535847
36 2014-01-03 1D 0.518552
37 2014-01-03 1M 0.5186
38 2014-01-03 2M 0.518536
39 2014-01-03 3M 0.5186
40 2014-01-03 4M 0.518865
41 2014-01-03 5M 0.51916
42 2014-01-03 6M 0.5193
43 2014-01-03 9M 0.519024
44 2014-01-03 1Y 0.5193
45 2014-01-03 18M 0.520882
46 2014-01-03 2Y 0.5228
47 2014-01-03 3Y 0.524647
48 2014-01-03 4Y 0.526752
49 2014-01-03 5Y 0.528957
50 2014-01-03 6Y 0.531065
51 2014-01-03 7Y 0.532856
52 2014-01-03 8Y 0.534325
53 2014-01-03 9Y 0.535558
使用pandas pivot會產生以下結果。該樞軸工作,但行的順序錯誤。
df_pivot = df.pivot(index='tenor', columns='date', values='value')
tenor 2014-01-01 2014-01-02 2014-01-03
18M 0.521228 0.521406 0.520882
1D 0.517125 0.517874 0.518552
1M 0.5175 0.5181 0.5186
1Y 0.5198 0.5197 0.5193
2M 0.518159 0.518451 0.518536
2Y 0.523097 0.523405 0.5228
3M 0.5187 0.5188 0.5186
3Y 0.525054 0.525254 0.524647
4M 0.51912 0.519113 0.518865
4Y 0.527055 0.527151 0.526752
5M 0.51949 0.519418 0.51916
5Y 0.529054 0.529256 0.528957
6M 0.5197 0.5196 0.5193
6Y 0.531099 0.531543 0.531065
7Y 0.532852 0.533457 0.532856
8Y 0.534207 0.534802 0.534325
9M 0.519511 0.519377 0.519024
9Y 0.535314 0.535847 0.535558
我想由男高音列排序結果:
tenor 2014-01-01 2014-01-02 2014-01-03
1D 0.517125 0.517874 0.518552
1M 0.5175 0.5181 0.5186
2M 0.518159 0.518451 0.518536
3M 0.5187 0.5188 0.5186
4M 0.51912 0.519113 0.518865
5M 0.51949 0.519418 0.51916
6M 0.5197 0.5196 0.5193
9M 0.519511 0.519377 0.519024
1Y 0.5198 0.5197 0.5193
18M 0.521228 0.521406 0.520882
2Y 0.523097 0.523405 0.5228
3Y 0.525054 0.525254 0.524647
4Y 0.527055 0.527151 0.526752
5Y 0.529054 0.529256 0.528957
6Y 0.531099 0.531543 0.531065
7Y 0.532852 0.533457 0.532856
8Y 0.534207 0.534802 0.534325
9Y 0.535314 0.535847 0.535558
我想過寫會比較,然後使用與當男高音值轉換爲天的自定義排序函數(不知道現在怎麼樣)。
我調查了使用google visualization pivot,但似乎只適用於不在現有數據表的查詢。
任何其他建議將不勝感激。
究竟是什麼,隊友的歡呼聲! – CDMP