我正在尝试从数据框生成时间序列,但我在这里找到的解决方案并没有真正解决我的具体问题。我有一个数据帧,它是一系列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不是一个合适的日期所以我不知道如何继续。指针非常赞赏。
答案 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