Python 将特定列的行按日期+n(单位:秒)划分
我想通过特定列划分数据帧中的行 也就是说,我有一个名为“ticker”的列,它有一个属性“date”和“price”。 我想用date[I+2]除以date[I],其中I和I+2只是指当日和当日+2,表示该股票的价格。对于使用Pandas的操作,日期也采用适当的日期时间格式 数据如下所示: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
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