【问题标题】:Daily High/Low on intraday data盘中数据的每日高点/低点
【发布时间】:2018-06-01 14:00:29
【问题描述】:

让我有一个这样的日期时间索引的数据框:

date_time           open    high    low     close   vol
2018-05-13 18:00:00 70.54   70.60   70.42   70.55   2665
2018-05-13 18:15:00 70.55   70.59   70.53   70.58   378
2018-05-13 18:30:00 70.58   70.70   70.57   70.69   1470
2018-05-13 18:45:00 70.68   70.68   70.63   70.65   427
...
2018-05-14 00:00:00 70.46   70.47   70.40   70.41   1276
2018-05-14 00:15:00 70.41   70.45   70.38   70.39   1356
2018-05-14 00:30:00 70.39   70.48   70.39   70.46   1161
2018-05-14 00:45:00 70.46   70.47   70.43   70.46   359

我需要另外两列具有 DAILY High 和 DAILY low 值。 我正在尝试这样做:

df['day_high']= x.resample('D').high.max()
df.day_high = x.day_high.fillna(method='ffill')

它在 00:00:00 数据时间存在的日子里完美运行。因此,14.05.2018 我有一个日期时间为 00:00:00 的值,并且我的代码有效。但是 2018-05-13 日从 18:00 开始,我的代码返回“NaN”值(我知道,为什么,但我不知道如何编写正确的代码)。

你能帮帮我吗?谢谢。

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    我相信需要Resampler.transform:

    df['day_high']= df.resample('D').high.transform('max')
    df['day_low']= df.resample('D').low.transform('min')
    print (df)
                          open   high    low  close   vol  day_high  day_low
    date_time                                                               
    2018-05-13 18:00:00  70.54  70.60  70.42  70.55  2665     70.70    70.42
    2018-05-13 18:15:00  70.55  70.59  70.53  70.58   378     70.70    70.42
    2018-05-13 18:30:00  70.58  70.70  70.57  70.69  1470     70.70    70.42
    2018-05-13 18:45:00  70.68  70.68  70.63  70.65   427     70.70    70.42
    2018-05-14 00:00:00  70.46  70.47  70.40  70.41  1276     70.48    70.38
    2018-05-14 00:15:00  70.41  70.45  70.38  70.39  1356     70.48    70.38
    2018-05-14 00:30:00  70.39  70.48  70.39  70.46  1161     70.48    70.38
    2018-05-14 00:45:00  70.46  70.47  70.43  70.46   359     70.48    70.38
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-23
      • 1970-01-01
      • 2019-04-12
      • 2023-02-09
      • 1970-01-01
      相关资源
      最近更新 更多