我的错误与我升级为熊猫0.81后构建熊猫DataFrame
的日期转换有关。具体来说,传递具有时区感知日期时间的Django Queryset的.from_records()方法将引发一个datetime64转换错误:
type(data)
> django.db.models.query.QuerySet
dv = data.values('begin_time', 'datum')
dv[0]
> {'begin_time': datetime.datetime(2006, 4, 27, 12, 40, tzinfo=<UTC>),
'datum': Decimal('13.3097500')}
df = pd.DataFrame.from_records( dv, index='begin_time' )
> ValueError: Tz-aware datetime.datetime cannot be converted to datetime64
unless utc=True
Django日期时间知道时区,并期待它设置为UTC,所以我发现错误消息有点神秘,但这可能是我的失败。我对Python比较熟悉。
所以,我想要么我需要: 1.将utc=true设置为错误,但我不知道具体到哪里,或者2。在.from_records中关闭到datetime64的转换,但我也不知道在哪里。
谢谢你的帮忙!
发布于 2012-08-30 00:02:38
我在这里创建了一个问题:http://github.com/pydata/pandas/issues/1825。我最近只是在做这件事,很明显我把它弄坏了(除非它现在能用在git上)。
发布于 2012-08-15 21:26:42
在解析时区:https://github.com/pydata/pandas/issues/1693中,您在熊猫中遇到了一个bug 0.8.1
标记为增强,所以也许我不理解,可能会有一个解决办法,但我很确定这只是一个bug。已经修好了,但还得等0.8.2。这在0.8.0中起作用(我只是在升级后才遇到相同的错误)。你可以试着回到0.8.0:
pip install -I pandas==0.8.0
只要0.8.0还能满足你的应用程序中使用熊猫的其他任何东西的要求。
或者您可能尝试从https://github.com/pydata/pandas中获得最新的版本并构建它,但可能不太稳定。
https://stackoverflow.com/questions/11945897
复制相似问题