python - 如何按 ID 分组并按 datetimestamp 排序并在 pandas 中创建具有新旧值的新行的表
问题描述
我正在尝试在熊猫中执行以下操作
我有三列,ID、日期时间和值。
ID, DATE_TIME,VALUE
FLT09045412, 2019-01-02 12:03:23, 6
FLT09045412, 2019-01-30 14:38:47, 7
我想用这个创建一个新表
ID, DATE_TIME, OLD_VALUE, NEW_VALUE
FLT09045412, 2019-01-02 12:03:23, NAN, 6
FLT09045412, 2019-01-30 14:38:47, 6, 7
每个逗号代表一个新列
谢谢
解决方案
国际大学联合会,
df['NEW_VALUE'] = df['VALUE']
df = df.sort_values('DATE_TIME')
df['OLD_VALUE'] = df.groupby('ID')['VALUE'].shift()
输出:
ID DATE_TIME VALUE NEW_VALUE OLD_VALUE
0 FLT09045412 2019-01-02 12:03:23 6 6 NaN
1 FLT09045412 2019-01-30 14:38:47 7 7 6.0