фрейм данных обрабатывает мой первый столбец как индекс - PullRequest
0 голосов
/ 24 февраля 2019

Я запрашиваю некоторые данные из таблицы SQL в кадр данных, используя метод read_sql_query.

Это работает, однако есть одна вещь, которую я не совсем понимаю.

Так что мой запрос SQLвыбирает 3 столбца, первый - дата (все уникально), второй - некоторый текст и третий - число с плавающей точкой.

Когда я запускаю df.dtypes, я получаю следующий вывод:

 City         object
 Population   float64

Почемуэто игнорирует мой столбец даты?Это сделало его индексом для фрейма данных.Что, если я не хочу, чтобы это поведение было так или иначе, чтобы остановить это?

Обновление

Ниже приведены параметры, которые я передаю функции.

df = pd.read_sql_query(query, cnxn) 

Когда я запускаю df.Head (3), вывод выглядит как

               City     Population

  Date
  2018-01-01   Paris    4
  2018-01-02   NY       6
  2018-01-03   London   5

1 Ответ

0 голосов
/ 26 февраля 2019

Вы начинаете с этого, где у вас есть DateIndex

df = pd.DataFrame({
    'City': ['Paris', 'NY', 'London'],
    'Population': [4, 6, 5],
    'Date': pd.date_range('2018-01-01', '2018-01-03')
})
df = df.set_index('Date')

>>> df
            City    Population
Date        
2018-01-01  Paris   4
2018-01-02  NY      6
2018-01-03  London  5

К счастью, это так же просто, как вызов reset_index().

>>> df.reset_index()

    Date        City    Population
0   2018-01-01  Paris   4
1   2018-01-02  NY      6
2   2018-01-03  London  5
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...