Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我得到了一个“答案”;builtins.KeyError:';日期'&引用;尝试为我的一列使用Datetime时出错_Python_Pandas_Datetime_Resampling - Fatal编程技术网

Python 我得到了一个“答案”;builtins.KeyError:';日期'&引用;尝试为我的一列使用Datetime时出错

Python 我得到了一个“答案”;builtins.KeyError:';日期'&引用;尝试为我的一列使用Datetime时出错,python,pandas,datetime,resampling,Python,Pandas,Datetime,Resampling,当我尝试使用pandas在python中重新采样数据帧时。当我试图在第一个数据帧中拆分索引时,我得到builtins.KerError:“Date” 我对开发非常陌生,任何有原因的答案都会有很大帮助 这就是我的数据帧的样子,每秒有多个条目,我想在上面进行ohlc重采样 Time Token LTP Volume 0 2019-01-18 15:29:59 779521 294.95 9074206 0 2019-01-18 15:29:

当我尝试使用pandas在python中重新采样数据帧时。当我试图在第一个数据帧中拆分索引时,我得到builtins.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)

我收到以下错误builtins.KerError:“Date”

看起来您正在从数据帧调用列“Date”,但该数据帧没有名称为的列

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

谢谢,你的指点奏效了。我把日期代码注释掉了。但现在我看到了一个新问题。。来自tick_df的数据将被追加到最终数据帧中。日期列正在转换为NaT。你也能解决这个问题吗。会有很大帮助的。注释掉您提到的行后的数据帧。NaT 293.00 779521 9189017 NaT 293.00 779521 9189017 2019-01-21 15:11:51 292.85 779521 9202831Nat用于表示缺少的日期时间值。这里有一个关于如何过滤NAT的线程