首页 文章

熊猫日期时间错误

提问于
浏览
0

我有一个csv文件有7列['日期','时间','开放','高','低','关闭','音量']事情是我试图设置日期时间索引,但它不起作用可能是因为日期和时间是两个单独的列 .

这是代码:

import pandas as pd

column_names = ['Date', 'Time', 'Open', 'High', 'Low','Close', 'Volume']

df = pd.read_csv(r"E:\Tutorial\EURUSD60.csv", header=None, names=column_names)

df['DateTime'] = pd.to_datetime(df['Date', 'Time'])

print(df.head())

这是错误:

C:\ Users \ sydgo \ Anaconda3 \ python.exe E:/Tutorial/language.py Traceback(最近一次调用最后一次):文件“C:\ Users \ sydgo \ Anaconda3 \ lib \ site-packages \ pandas \ core \索引\ base.py“,第2442行,在get_loc中返回self._engine.get_loc(key)文件”pandas_libs \ index.pyx“,第132行,在pandas._libs.index.IndexEngine.get_loc文件”pandas_libs \ index.pyx “,第154行,在pandas._libs.index.IndexEngine.get_loc文件”pandas_libs \ hashtable_class_helper.pxi“,第1210行,在pandas._libs.hashtable.PyObjectHashTable.get_item文件”pandas_libs \ hashtable_class_helper.pxi“,第1218行, pandas._libs.hashtable.PyObjectHashTable.get_item KeyError:('Date','Time')在处理上述异常期间,发生了另一个异常:Traceback(最近一次调用last):文件“E:/Tutorial/language.py” ,第7行,在df ['DateTime'] = pd.to_datetime(df ['Date','Time'])文件“C:\ Users \ sydgo \ Anaconda3 \ lib \ site-packages \ pandas \ core \ frame . py“,第1964行,在getitem中返回self._getitem_column(key)文件”C:\ Users \ sydgo \ Anaconda3 \ lib \ site-packages \ pandas \ core \ frame.py“,第1971行,在_getitem_column中返回self._get_item_cache(key)文件”C:\ Users \ sydgo \ Anaconda3 \ lib \ site-packages \ pandas \ core \ generic . py“,第1645行,在_get_item_cache values = self._data.get(item)文件”C:\ Users \ sydgo \ Anaconda3 \ lib \ site-packages \ pandas \ core \ internals.py“,第3590行,在get loc中= self.items.get_loc(item)文件“C:\ Users \ sydgo \ Anaconda3 \ lib \ site-packages \ pandas \ core \ indexes \ base.py”,第2444行,在get_loc中返回self._engine.get_loc(self ._maybe_cast_indexer(key))文件“pandas_libs \ index.pyx”,第132行,在pandas._libs.index.IndexEngine.get_loc文件“pandas_libs \ index.pyx”,第154行,在pandas._libs.index.IndexEngine.get_loc中文件“pandas_libs \ hashtable_class_helper.pxi”,第1210行,在pandas._libs.hashtable.PyObjectHashTable.get_item文件“pandas_libs \ hashtable_class_helper.pxi”,第1218行,在pandas._libs.hashtable.PyObjectHashTable.get_item中KeyError:('Date' , '时间')

1 回答

  • 1

    如果您简化代码,您会看到错误就在这里:

    df['Date', 'Time']
    

    那是因为您通过两个字符串将DataFrame索引一次,但是您希望通过两个字符串中的每个字符串将其索引两次 . 那是:

    df[['Date', 'Time']]
    

    不过,这可能会失败,因为 to_datetime 需要字符串,而不是字符串对:

    pd.to_datetime(df['Date', 'Time'])
    

    在这种情况下试试这个:

    pd.to_datetime(df.Date + ' ' + df.Time)
    

相关问题