我正在使用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
答案 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