You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于日期与Ticker分组计算DataFrame中Rate的日变动值?

解决方案

你可以通过groupby按Ticker分组,再结合shift()方法实现所有股票的日Rate变动计算,步骤如下:

1. 确保数据有序(可选但推荐)

如果你的DataFrame日期或股票顺序存在混乱,先执行排序保证计算逻辑准确:

df = df.sort_values(['Ticker', 'Trade Date']).reset_index(drop=True)

2. 新增日变动列

直接对每个股票分组后,计算当前Rate与前一日Rate的差值:

df['Rate_Daily_Change'] = df['Rate'] - df.groupby('Ticker')['Rate'].shift(1)

或者用transform写法,效果一致:

df['Rate_Daily_Change'] = df.groupby('Ticker')['Rate'].transform(lambda x: x - x.shift(1))

处理后结果示例

执行后DataFrame会新增一列,展示各股票的日Rate变动,核心片段如下:

Trade DateTickerRateRate_Daily_Change
2022-12-27A0.01NaN
2022-12-28A0.500.49
2022-12-29A1.010.51
2022-12-27B2.82NaN
2022-12-28B2.72-0.10
2022-12-29B3.420.70

每个股票的最早日期数据因无前置对比值,会显示NaN,符合业务逻辑。

内容的提问来源于stack exchange,提问作者Lucas Almeida

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 10:20:48