获取前一天的值,每天发生的次数不相等

时间:2019-06-17 05:24:49

标签: python pandas

我在证券交易所有一个事件数据框-每天,有多只股票在交易,并且一天中的事件数量不必与另一天相同。

鉴于此数据框,我想计算每只股票的枢轴点。因此,我需要执行以下步骤:

  1. 迭代库存;对于每只股票,
  2. 在数据框中选择与库存相同的条目
  3. 每天查找与前一天相对应的条目
  4. 获取各种价格
    • 找到第一个条目(开盘价)
    • 找到最后一个条目(收盘价)
    • 找到最高价格(该股票前一天所有价格的最高值)
  5. 将在第4步中找到的值更新为数据框中的3列

我希望尽可能避免迭代,因为数据帧很大,循环会导致大量运行时间。

当前,我正在尝试遍历股票列表(相对较小),选择与当前迭代相对应的股票。从那时开始,即从第3步开始,我就陷入了困境。

        sym_idx_list = filtered_df['sym_idx'].unique().tolist()

    for sym_idx in sym_idx_list:
        # incomplete code here
        filtered_df['open'] = filtered_df.loc[(filtered_df['sym_idx'] == sym_idx) & ()]
    Example:
    sym_idx | day | price
    1       | 0   | 2
    2       | 0   | 10
    1       | 0   | 2.1
    1       | 1   | 1.9 <- update this row with 'open' = 2
    1       | 1   | 2.0 <- update this row with 'open' = 2

0 个答案:

没有答案