一个两部分的问题
我正在尝试将列转换为日期时间,我认为这很容易?就像我之前在使用文档的其他df上所做的一样,没有太大问题。
df = pd.DataFrame({'date' : ['24 October 2018', '23 April 2018', '18 January 2018']})
print(df)
date
0 24 October 2018
1 23 April 2018
2 18 January 2018
我正在查看datetime文档,我认为这段代码会将此列(是一个对象)转换为datetime
df.date = pd.to_datetime(df['date'], format="%d-%m-%Y",errors='ignore')
出现错误:
ValueError: time data '24 April 2018' does not match format '%d-%m-%Y' (match)
我尝试使用公式并通过文档无济于事!
答案 0 :(得分:1)
您使用了错误的格式。 '24 October 2018'
使用format="%d %B %Y"
。格式说明符在here中列出。
编辑:-演示-
>>> import pandas as pd
>>> df = pd.DataFrame({'date':['24 October 2018', '23 April 2018', '18 January 2018']})
>>> df.date = pd.to_datetime(df['date'], format="%d %B %Y")
>>>
>>> df
date
0 2018-10-24
1 2018-04-23
2 2018-01-18
>>>
>>> df['date'][0]
Timestamp('2018-10-24 00:00:00')
>>> df['date'][0].month
10
编辑2:第二个问题
>>> df['status'] = ['complete', 'complete', 'requested']
>>> df
date status
0 2018-10-24 complete
1 2018-04-23 complete
2 2018-01-18 requested
>>>
>>> df[df['status'] != 'complete']
date status
2 2018-01-18 requested
答案 1 :(得分:0)
您可以使用ldr r2, [r1]
或pd.to_datetime
库
datetime