2 回答
TA贡献2011条经验 获得超2个赞
使用DataFrame.reset_index
,传递DATETIME
给index
参数并最后MultiIndex
由f-string
s 展平:
df_2= df_1.reset_index().pivot(index='DATETIME', columns='ID', values=['Val1', 'Val2'])
df_2.columns = df_2.columns.map(lambda x: f'{x[1]}_{x[0]}')
print (df_2)
A_Val1 B_Val1 A_Val2 B_Val2
DATETIME
2019-01-18 10:35:00 482.84387 -5.30216 439.67942 20.22247
2019-01-18 10:40:00 -790.63989 257.00000 -810.00000 270.55490
2019-01-18 10:45:00 10.54820 -85.50000 5.64659 -89.00000
TA贡献1824条经验 获得超5个赞
DataFrame.set_index
另一种使用and 的方法DataFrame.unstack
:
df1 = df.set_index('ID', append=True).unstack()
df1.columns = df1.columns.map(lambda c: f'{c[1]}_{c[0]}')
结果:
# print(df1)
A_Val1 B_Val1 A_Val2 B_Val2
DATETIME
2019-01-18 10:35:00 482.84387 -5.30216 439.67942 20.22247
2019-01-18 10:40:00 -790.63989 257.00000 -810.00000 270.55490
2019-01-18 10:45:00 10.54820 -85.50000 5.64659 -89.00000
添加回答
举报