我有以下6个列的数据,其中包含两个主要类别: var1和var 2。我正在尝试获取列所在位置的数据:var1(t-3) var1(t-2) var1(t-1) var2(t-3) var2(t-2) var2(t-1)
var1(t-3) var2(t-3) var1(t-2) var2(t-2) var1(t-1) var2(t-1)
-0.37 0.13 -0.46 0.38 -0.28 -1.40
-0.46 0.38 -0.28 -1.40 -0.31 0.04
-0.28 -1.40 -0.31 0.04 -0.26 -0.71
-0.31 0.04 -0.26 -0.71 -0.19 -0.85
-0.26 -0.71 -0.19 -0.85 -0.23 -2.34
-0.19 -0.85 -0.23 -2.34 -0.23 -2.41
-0.23 -2.34 -0.23 -2.41 -0.22 -0.75发布于 2018-03-08 08:46:07
通过自定义lambda函数通过sorted创建新的列顺序:
c = sorted(df.columns, key = lambda x: x.split('(')[0])或者更一般的将(之前的数字转换为int:
c = sorted(df.columns, key = lambda x: int(x.split('(')[0].replace('var', '')))
df = df[c]
print (df)
var1(t-3) var1(t-2) var1(t-1) var2(t-3) var2(t-2) var2(t-1)
0 -0.37 -0.46 -0.28 0.13 0.38 -1.40
1 -0.46 -0.28 -0.31 0.38 -1.40 0.04
2 -0.28 -0.31 -0.26 -1.40 0.04 -0.71
3 -0.31 -0.26 -0.19 0.04 -0.71 -0.85
4 -0.26 -0.19 -0.23 -0.71 -0.85 -2.34
5 -0.19 -0.23 -0.23 -0.85 -2.34 -2.41
6 -0.23 -0.23 -0.22 -2.34 -2.41 -0.75https://stackoverflow.com/questions/49168545
复制相似问题