首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将日期时间转换为数字数据类型?

如何将日期时间转换为数字数据类型?
EN

Stack Overflow用户
提问于 2018-07-16 07:47:50
回答 2查看 3K关注 0票数 1

我有一个数据集

代码语言:javascript
复制
time               MachineId  
1530677359000000000 01081081  
1530677363000000000 01081081  
1530681023000000000 01081090  
1530681053000000000 01081090  
1530681531000000000 01081090

所以我的密码是:

代码语言:javascript
复制
import pandas as pd
from datetime import datetime
import time
import datetime
import matplotlib.pyplot as plt
import matplotlib.dates as mdate

df= pd.read_csv('acn.csv')`

df['time']=pd.to_datetime(df['time'], unit='ns')` #converting the epoch nanosec time to datetime-format

print(df.head())

输出:

代码语言:javascript
复制
   time            MachineId   
0 2018-07-04 04:09:19  1081081.0  
1 2018-07-04 04:09:23  1081081.0  
2 2018-07-04 05:10:23  1081090.0   
3 2018-07-04 05:10:53  1081090.0  
4 2018-07-04 05:18:51  1081090.0 

现在,我想将我的时间数据更改为数字,以便在时间和机器id之间生成一个图。

代码语言:javascript
复制
dates = plt.dates.date2num(df['time'])
df.plot(kind='scatter',x='dates',y='MachineId')
plt.show()

它引发的错误如下:

AttributeError:“模块”对象没有属性“日期”

如何将datetime格式更改为numeric,从而形成一个绘图?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-16 08:25:53

您得到了以下错误:

AttributeError:“模块”对象没有属性“日期”

您的错误消息是告诉您matplotlib.pyplot.dates (plt.dates)不存在。(错误说有一个模块您正在调用“dates”,但它并不存在)。

因此,您需要在担心转换之前修复该错误。你是想给matplotlib.dates.date2num打电话吗?在您的代码中,您有以下内容:

将matplotlib.dates作为mdate导入

也许你是想给mdate.date2num打电话?这应该可以消除AttributeError

如果这对你不起作用,你可以尝试一下其他评论者提供的链接中的建议,使用熊猫to_pydatetime。我不熟悉它,但是在这个示例页中,它作为Series.dt.to_pydatetime()被访问。

所有这些转换都是必要的,因为您正在尝试使用df.plot;也许您应该考虑直接调用matplotlib。例如,您可以只使用plt.plot_date吗?(下面是链接到它)。熊猫是优秀的,但它的绘图界面还不如其他的成熟。举个例子(我并不是说这正是你遇到的问题),但这是是熊猫中一个已知的关于日期的错误。这里是一个较旧的堆栈溢出线程,在该线程中,有人为您提供了一个plt.plot_date方法。

票数 1
EN

Stack Overflow用户

发布于 2018-07-16 07:53:56

你也可以直接绘制日期。例如,如果希望将日期放在x轴上,则在ax.plot(df.time, ids)中传递日期。我觉得这可能是最接近你想要的东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51356927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档