尝试对我的其中一列使用Datetime时出现“ builtins.KeyError:'DATE'”错误

时间:2019-01-18 10:05:49

标签: python pandas datetime resampling

当我尝试使用pandas在python中重新采样我的数据框时。当我尝试在第一个数据帧中分割索引时,我得到了buildins.KerError:'Date'。


我对开发非常陌生,因此给出任何产生它的原因的答案都会有很多帮助。


这是我的数据帧的外观,每秒有多个条目,我想对其进行ohlc重采样。

                 Time   Token     LTP   Volume
0 2019-01-18 15:29:59  779521  294.95  9074206
0 2019-01-18 15:29:59  779521  294.95  9074206
0 2019-01-18 15:29:59  779521  294.95  9074206
0 2019-01-18 15:40:02  779521  294.95  9074723
0 2019-01-18 15:40:02  779521  294.95  9074723
0 2019-01-18 15:40:03  779521  294.95  9074725
0 2019-01-18 15:40:03  779521  294.95  9074725
0 2019-01-18 15:40:03  779521  294.95  9074725
0 2019-01-18 15:40:05  779521  294.95  9074736
0 2019-01-18 15:40:05  779521  294.95  9074736
0 2019-01-18 15:40:05  779521  294.95  9074736
0 2019-01-18 15:40:11  779521  294.95  9074986
0 2019-01-18 15:40:11  779521  294.95  9074986
0 2019-01-18 15:40:11  779521  294.95  9074986
0 2019-01-18 15:40:13  779521  294.95  9075386
0 2019-01-18 15:40:13  779521  294.95  9075386
0 2019-01-18 15:40:25  779521  294.95  9075586
0 2019-01-18 15:40:25  779521  294.95  9075586
0 2019-01-18 15:40:25  779521  294.95  9075586
0 2019-01-18 15:40:25  779521  294.95  9075586
0 2019-01-18 15:40:32  779521  294.95  9075686
0 2019-01-18 15:40:32  779521  294.95  9075686
0 2019-01-18 15:40:32  779521  294.95  9075686
0 2019-01-18 15:40:40  779521  294.95  9075687
0 2019-01-18 15:40:40  779521  294.95  9075787
0 2019-01-18 15:40:40  779521  294.95  9075787
0 2019-01-18 15:40:40  779521  294.95  9075787
0 2019-01-18 15:40:40  779521  294.95  9075787

我的代码

df_cols = ["Time", "Token", "LTP", "Volume"]

data_frame = pd.DataFrame(data=[],columns=df_cols)

timeframe = '1min'

def on_ticks(ws, ticks): #retrive continius ticks in JSON format
    global data_frame, df_cols

    data = dict()

    for tick in ticks:
        Time = tick['last_trade_time']
        Token = tick['instrument_token']
        LTP = tick['last_price']
        Volume = tick['volume']

        data = [Time, Token, LTP, Volume]

    tick_df = pd.DataFrame([data], columns=df_cols)
    data_frame = data_frame.append(tick_df)

    data_frame['Time'] = pd.to_datetime(data_frame['DATE'] + ' ' + data_frame['TIME'])
    data_frame.set_index('Time', inplace=True)

我正在获取以下内置错误信息。KerError:“日期”

1 个答案:

答案 0 :(得分:0)

好像您正在从数据框中调用“日期”列,但该数据框没有名称相同的列。

data_frame['Time'] = pd.to_datetime(data_frame['DATE'] + ' ' + data_frame['TIME'])