大熊猫 - ValueError异常的日期时间格式不匹配
问题描述:
这是我的数据:大熊猫 - ValueError异常的日期时间格式不匹配
date = df['Date']
print (date.head())
0 2015-01-02
1 2015-01-02
2 2015-01-02
3 2015-01-02
4 2015-01-02
Name: Date, dtype: datetime64[ns]
我的代码:
def date_to_days(date):
return date2num(datetime.datetime.strptime(date, '%Y-%m-%d'))
为什么会出现这个错误?
答
它工作正常,没有任何错误。
In [74]: from matplotlib.dates import date2num
In [75]: df['Number of days'] = df['Date'].apply(lambda x: date2num(datetime.datetime.strptime(x, '%Y-%m-%d')))
In [76]: df
Out[76]:
Date Number of days
0 2015-01-02 735600.0
1 2015-01-02 735600.0
2 2015-01-02 735600.0
3 2015-01-02 735600.0
4 2015-01-02 735600.0
通常,将变量分配给一个pandas系列对象是一种不好的做法。它可以搞砸了很多东西。
In [1]: def date_to_days(date):
...: return date2num(datetime.datetime.strptime(date, '%Y-%m-%d'))
In [2]: df['Number of days'] = df['Date'].apply(date_to_days)
In [3]: df
Out[3]:
Date Number of days
0 2015-01-02 735600.0
1 2015-01-02 735600.0
2 2015-01-02 735600.0
3 2015-01-02 735600.0
4 2015-01-02 735600.0
+0
我认为这是因为他的日期表示实际上隐藏了也存在的时间... – bernie
+0
是的。我认为可能是这样。 –
这个问题似乎也是关于熊猫图书馆。请在你的问题中加入。 什么样的数据是日期?打印时会发生什么?函数strptime需要一个字符串。由于它不会搜索字符串的日期部分,所以它是'愚蠢的',因此将您传递给datetime的字符串中的所有不必要的数据去掉。 – Munchhausen
您是否试图从'datetime'对象中提取日期? –