将pandas时间序列转换为具有非日期索引

时间:2015-10-21 21:34:48

标签: python pandas time-series

我正在尝试从数据框生成时间序列,但我在这里找到的解决方案并没有真正解决我的具体问题。我有一个数据帧,它是一系列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 个答案:

答案 0 :(得分: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'))

使用pivot功能:

df2 = df.pivot('ID', 'key', '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