【发布时间】:2016-01-20 23:11:18
【问题描述】:
我从我的 MySQL 数据库中检索了一些数据。该数据在一列中有日期(不是日期时间),在其他列中有一些其他随机数据。假设dtf 是我的数据框。还没有索引所以我设置了一个
dtf.set_index('date', inplace=True)
现在我想获取特定日期的数据,所以我写了例子
dtf.loc['2000-01-03']
或者只是
dtf['2000-01-03']
这给了我一个KeyError:
KeyError: '2000-01-03'
但我知道它在里面。 dtf.head() 向我展示了这一点。
所以我确实看了一下第一行的索引类型:
type(dtf.index[0])
它告诉我:datetime.date。很好,现在如果我只输入会发生什么
dtf.index
Index([2000-01-03, 2000-01-04, 2000-01-05, 2000-01-06, 2000-01-07, 2000-01-10,
2000-01-11, 2000-01-12, 2000-01-13, 2000-01-14,
...
2015-09-09, 2015-09-10, 2015-09-11, 2015-09-14, 2015-09-15, 2015-09-16,
2015-09-17, 2015-09-18, 2015-09-21, 2015-09-22],
dtype='object', name='date', length=2763)
我对@987654331@ 有点困惑。这不应该是datetime.date吗?
如果我在我的 mysql 表中使用 datetime 而不是 date,那么一切都会像魅力一样。这是错误还是功能?我真的很想使用datetime.date,因为它最能描述我的数据。
我的熊猫版本是 0.17.0
我正在使用 python 3.5.0
我的操作系统是arch linux
【问题讨论】:
标签: mysql date pandas dataframe keyerror