2013-03-11 62 views
0

我正在格式化MongoDB文档中的原始时间戳。原来那些看起来像这样:浮点格式化:绘制strftime

"timestamp" : ISODate("2013-03-06T17:10:29Z") 

而格式化的人(作为文档的_id使用聚合后):

"_id" : "06-03-13T17:10" 

我再要绘制的“量”(Y轴)值对“_id”值(x轴)

我无法格式化_id以便我可以绘制它。

amount = [book["price"] for book in sorted["result"]] 
time = [book["_id"] for book in sorted["result"]] 
P.plot(amount, time) 
P.show() 

返回:

ValueError: invalid literal for float(): 06-03-13T15:36 

回答

1

你传递的plot功能的字符串,它是不是一个有效的x轴格式据我所知。我很确定你想要你的原始datetime对象,然后使用date2num来格式化它们以传递给matplotlib。因此,根据是否将strftime格式化的东西用于其他任何内容,将date2num的输出存储在映射中而非strftime的输出中可能更有意义。

请参阅this post以获得更多特异性并链接到某些示例。

+0

谢谢,但我将如何设法删除我的日期时间对象中的秒? – Julia 2013-03-11 15:47:26

+0

@Julia你需要从日期时间中删除秒,还是只从格式字符串中删除?你应该能够给matplotlib一个'strftime'格式的字符串来使用。如果您需要从日期时间中除去秒,那只是'dt = dt.replace(second = 0)'。 – 2013-03-11 15:58:48