Python 将特定列的行按日期+n(单位:秒)划分

Python 将特定列的行按日期+n(单位:秒)划分,python,python-3.x,pandas,dataframe,math,Python,Python 3.x,Pandas,Dataframe,Math,我想通过特定列划分数据帧中的行 也就是说,我有一个名为“ticker”的列,它有一个属性“date”和“price”。 我想用date[I+2]除以date[I],其中I和I+2只是指当日和当日+2,表示该股票的价格。对于使用Pandas的操作,日期也采用适当的日期时间格式 数据如下所示: date | ticker | price | 2002-01-30 A 20 2002-01-31 A 21 2

我想通过特定列划分数据帧中的行

也就是说,我有一个名为“ticker”的列,它有一个属性“date”和“price”。 我想用date[I+2]除以date[I],其中I和I+2只是指当日和当日+2,表示该股票的价格。对于使用Pandas的操作,日期也采用适当的日期时间格式

数据如下所示:

date        |   ticker  |   price  |
2002-01-30        A           20
2002-01-31        A           21
2002-02-01        A           21.4
2002-02-02        A           21.3
.
.
这意味着我要根据股票代码选择价格,特别是针对每个股票代码选择日期和日期+2,以计算比率date[I+2]/date[I]

我已经考虑过使用iloc,但我不确定如何选择特定的股票代码,只是为了进行计算。

使用groupby:

df.groupby('ticker')['price'].transform(lambda x: x / x.shift(2))

0         NaN
1         NaN
2    1.070000
3    1.014286
Name: price, dtype: float64