具有以下格式的数据框
data = {'regions':["USA", "USA", "USA", "FRANCE", "FRANCE","FRANCE"],
'dates':['2024-08-03', '2024-08-10', '2024-08-17','2024-08-03', '2024-08-10', '2024-08-17'],
'values': [3, 4, 5, 7, 8,0],
}
df = pd.DataFrame(data)
regions dates values
0 USA 2024-08-03 3
1 USA 2024-08-10 4
2 USA 2024-08-17 5
3 FRANCE 2024-08-03 7
4 FRANCE 2024-08-10 8
5 FRANCE 2024-08-17 0
需要将此 df 从长格式更改为宽格式。使用最近的日期作为当前日期,其他两个日期将是滞后日期。预期输出如下
regions dates values_lag2 values_lag1 values
USA 2024-08-17 3 4 5
FRANCE 2024-08-17 7 8 0
目前我使用 for 循环手动更改格式。只是想知道是否有更优雅的方法来实现它。谢谢