2015-10-21 23 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') 

您可以通过重命名列