我有一个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 回答
如果您简化代码,您会看到错误就在这里:
那是因为您通过两个字符串将DataFrame索引一次,但是您希望通过两个字符串中的每个字符串将其索引两次 . 那是:
不过,这可能会失败,因为
to_datetime
需要字符串,而不是字符串对:在这种情况下试试这个: