
[英]Why is the first row of my pandas dataframe index the name of the index column?
[英]dataframe treating my first column as an index
我正在使用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
从这里开始,那里有一个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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.