数据框将我的第一列作为索引

时间:2019-02-24 12:08:15

标签: python pandas dataframe

我正在使用read_sql_query方法将SQL表中的某些数据查询到数据帧中。

它可以工作,但是有一件事我不太了解。

因此,我的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 :(得分:0)

从这里开始,这里有一个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