색인 열에 원래 (비 알파벳순) 정렬 순서를 유지하면서 장고 쿼리 세트의 결과를 피벗하고 싶습니다. 피벗 된 데이터는 Google 시각화 챠트 차트에서 사용됩니다.피벗 데이터 및 원래 정렬 순서 유지
나는 일을하기 위해 내 자신의 코드를 해킹했지만 약간 추한 것이고 팬더 (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
피아노 피벗을 사용하면 다음과 같은 결과가 생성됩니다. 피벗이 작동했지만 행의 순서가 잘못되었습니다.
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
내가 가진 것을 사용 후 비교 할 때 일 테너 값을 변환 할 사용자 정의 정렬 함수를 작성 생각했습니다를 pandas (확실하지 않은 방법).
google visualization pivot을 사용하여 조사했지만 기존의 DataTable이 아닌 쿼리에서만 작동하는 것으로 보입니다.
다른 의견이 있으면 크게 환영 할 것입니다.
정확히 무엇 환호는 짝! – CDMP