使用最小和最大日期计算值差

TJM*_*h95 1 python pandas

我正在尝试使用最小日期和最大日期来计算价值增长/下降。我的数据目前如下所示:

    Code      Date        Value
0   A         2020-12-31  80122.0
1   A         2019-12-31  45472.0
2   A         2018-12-31  31917.0
3   A         2017-12-31  23432.0
4   B         2020-12-31      0.0
Run Code Online (Sandbox Code Playgroud)

对于代码 AI 需要保留最大(2020-12-31)和最小(2017-12-31)日期以及值,以便我稍后可以计算差异。我有多个代码,并且需要能够对每个代码应用相同的逻辑。关于解决这个问题的最佳方法有什么建议吗?

谢谢

Qua*_*ang 6

在您的情况下,您想要对日期进行排序,然后进行分组并提取第一个、最后一个:

 df.sort_values(['Code','Date']).groupby('Code')['Value'].agg(['first','last'])
Run Code Online (Sandbox Code Playgroud)

输出:

        first     last
Code                  
A     23432.0  80122.0
B         0.0      0.0
Run Code Online (Sandbox Code Playgroud)