【发布时间】:2015-04-17 14:17:10
【问题描述】:
我有一个 DataFrame,其日期为列,格式为 ddmmyy(例如 08JUN14)。我不知道如何格式化它以用作 matplotlib 图的 x 轴。从实验中我了解到我需要一个字符串,因为:
datetime.strptime(“01Jul76”, ,"%d%b%y")
datetime.datetime(1976, 7, 1, 0, 0)
我不明白的是如何格式化/使用整个 DataFrame 列?我尝试将整个列转换为字符串,但这显然是不正确的(我认为在看到错误消息后这是有道理的)。
s = str(df.date)
d = datetime.strptime(s,"%d%b%y")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Anaconda\lib\_strptime.py", line 325, in _strptime
(data_string, format))
ValueError: time data "('01Jul76', '01Sep76', … '15Jan15', '19Mar15')" does not match format '%d%b%y'.
我已经搜索并看到了对这个问题的引用,但我似乎没有得到任何结果。非常感谢任何指导。
【问题讨论】:
-
你可以试试
df['date'] = pd.to_datetime(df['date']) -
我认为你的错误是你试图将一系列字符串转换为日期时间对象,这将不起作用错误表明你试图转换一个长字符串:
'01Jul76', '01Sep76', … '15Jan15', '19Mar15'所以这将不匹配'%d%b%y'期望单个字符串转换
标签: python pandas matplotlib dataframe axes