【发布时间】:2016-11-28 18:32:14
【问题描述】:
我有一个带有 datetime 列的 pandas 数据框。我想根据该日期列绘制行的分布,但我目前遇到了一个无用的错误。我有:
df['Date'] = pd.to_datetime(df['Date'], errors='raise')
s = sns.distplot(df['Date'])
引发错误:
TypeError: ufunc add cannot use operands with types dtype('<M8[ns]') and dtype('<M8[ns]')
如果我将要绘制的列更改为数字数据,那么一切正常。我怎样才能让 datetime 列表现得很好?我在文档中找不到太多关于我认为我需要的内容。任何和所有帮助表示赞赏。
以下是df.head(2)的结果,出于安全等原因,我删除了一些列:
Date
2812 2016-03-05
2813 2016-03-05
显然该列(当作为一个系列时)具有属性
Name: Date, dtype: datetime64[ns]
【问题讨论】:
-
是在抱怨格式问题,好像... 可以发一下
df的head吗? -
已经进行了编辑,希望这就是您想要的。
-
是的。看起来 distplot 无法处理日期时间对象 stanford.edu/~mwaskom/software/seaborn/generated/… 但是,如果您的值是天,您可以 1. 将每个日期转换为
.timetuple(),2.import time,3. 将其转换为十进制time.mktime() -
感谢您的帮助。它在哪里说它不做日期时间?
-
它没有。将其链接为我们讨论的官方参考。