pandas index_col = "datetime" делает df ['datetime'] недоступным - PullRequest
1 голос
/ 08 марта 2019

Название говорит само за себя. Следующий бит псевдокода возвращает следующую ошибку:

df = pd.read_sql(query, conn, parse_dates=["datetime"],
                             index_col="datetime")
df['datetime']

Я получаю:

Exception in thread Thread-1:
 Traceback (most recent call last):
   File "C:\Users\admin\.virtualenvs\EnkiForex-ey09TNOL\lib\site-packages\pandas\core\indexes\base.py", line 2656, in get_loc
     return self._engine.get_loc(key)
   File "pandas\_libs\index.pyx", line 108, in pandas._libs.index.IndexEngine.get_loc
   File "pandas\_libs\index.pyx", line 132, in pandas._libs.index.IndexEngine.get_loc
   File "pandas\_libs\hashtable_class_helper.pxi", line 1601, in pandas._libs.hashtable.PyObjectHashTable.get_item
   File "pandas\_libs\hashtable_class_helper.pxi", line 1608, in pandas._libs.hashtable.PyObjectHashTable.get_item
 KeyError: 'datetime'

Не понимаю ли я, что происходит при индексировании столбца datetime? Я могу нормально получить доступ ко всем другим столбцам.

Ответы [ 2 ]

2 голосов
/ 08 марта 2019

Индекс не является столбцом.Думайте об индексе как метки для строк DataFrame.index_col='datetime' делает столбец datetime (в csv) индексом df.Чтобы получить доступ к индексу, используйте df.index.

0 голосов
/ 08 марта 2019
import pandas as pd
d = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(d)

time = pd.date_range(end='4/5/2018',periods=2)
df.index = time
df.index

конец DatetimeIndex(['2018-04-04', '2018-04-05'], dtype='datetime64[ns]', freq='D'), просто используйте df.index, чтобы получить информацию о index_col

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...