2015-10-21 28 views
0

我試圖從數據框中生成時間序列,但我在這裏找到的解決方案並未真正解決我的特定問題。我有一個數據幀這是一系列的id其迭代從1到n的,然後重複,像這樣:使用非日期索引將熊貓時間序列轉換爲時間序列

key     ID   Var_1 
    0     1   1 
    0     2   1 
    0     3   2 
    1     1   3 
    1     2   2 
    1     3   1 

我想它重塑成一個時間序列,其中指數

    ID   Var_1_0  Var_2_0 
        1   1    3 
        2   1    2 
        3   2    1 

我已經嘗試了stack()方法,但它不會生成我想要的結果。從ID生成索引似乎是正確的ID不是一個適當的日期,所以我不知道如何繼續。指針非常感謝。

回答

1

試試這個:

import pandas as pd 
df = pd.DataFrame([[0,1,1], [0,2,1], [0,3,2], [1,1,3], [1,2,2], [1,3,1]], columns=('key', 'ID', 'Var_1')) 

使用旋轉功能:

df2.columns = ('Var_1_0', 'Var_2_0') 

結果:

Out: 
Var_1_0 Var_2_0 
ID     
1   1  3 
2   1  2 
3   2  1 

df2 = df.pivot('ID', 'key', 'Var_1') 

您可以通過重命名列