Python 将日期类型的日期解析为DDMMMYYYY

Python 将日期类型的日期解析为DDMMMYYYY,python,pandas,datetime,strptime,Python,Pandas,Datetime,Strptime,目前,我的数据的日期为2017年1月1日,我如何使Panda将其理解为日期类型,我需要数据为日期类型,以便在不同的时间范围内对其进行过滤。 我使用了下面的 data=pd.read_csv(input_path + 'data.txt',sep='|', parse_dates=['week']) 但当我检查了一周的数据类型后,它仍然显示为object 如果您还可以将我引向一些其他链接,以便我可以阅读有关此的更多信息,那将非常有帮助。您可以使用此链接将日期字符串解析为datetime对象: &

目前,我的数据的日期为2017年1月1日,我如何使Panda将其理解为日期类型,我需要数据为日期类型,以便在不同的时间范围内对其进行过滤。 我使用了下面的

data=pd.read_csv(input_path + 'data.txt',sep='|', parse_dates=['week'])
但当我检查了一周的数据类型后,它仍然显示为object

如果您还可以将我引向一些其他链接,以便我可以阅读有关此的更多信息,那将非常有帮助。

您可以使用此链接将日期字符串解析为
datetime
对象:

>>> from datetime import datetime
>>> datetime.strptime("01JAN2017", "%d%b%Y")
>>> datetime.datetime(2017, 1, 1, 0, 0)
现在,为了让熊猫识别格式,您可以添加一个日期解析器函数:

dateparse = lambda dates: [pd.datetime.strptime(d, "%d%b%Y") for d in dates]
df = pd.read_csv(infile, parse_dates=["week"], date_parser=dateparse)
您可以使用将日期字符串解析为
datetime
对象:

>>> from datetime import datetime
>>> datetime.strptime("01JAN2017", "%d%b%Y")
>>> datetime.datetime(2017, 1, 1, 0, 0)
现在,为了让熊猫识别格式,您可以添加一个日期解析器函数:

dateparse = lambda dates: [pd.datetime.strptime(d, "%d%b%Y") for d in dates]
df = pd.read_csv(infile, parse_dates=["week"], date_parser=dateparse)

pandas
中,使用datetime
方法是自然选择

In [11]: D = {'Date': '01JAN2017'}
In [12]: df = pd.DataFrame(D, index=[0])
In [13]: df
Out[13]: 
        Date
0  01JAN2017
In [14]: df.dtypes
Out[14]: 
Date    object
dtype: object

# Datatime column is read as string
# use to_datetime to convert non-standard datetime values    

In [15]: df['Date'] = pd.to_datetime(df.Date, format='%d%b%Y')
In [16]: df.dtypes
Out[16]: 
Date    datetime64[ns]
dtype: object
In [17]: df['Date']
Out[17]: 
0   2017-01-01
Name: Date, dtype: datetime64[ns]
当日期时间格式不是标准格式时,
pd.read\u csv
的文档实际上建议您使用
to\u datetime

如果列或索引包含不可解析的日期,则整个列或索引将作为对象数据类型原封不动地返回。对于非标准日期时间解析,请在pd.read\u csv之后使用pd.to\u datetime


pandas
中,使用datetime
方法是自然选择

In [11]: D = {'Date': '01JAN2017'}
In [12]: df = pd.DataFrame(D, index=[0])
In [13]: df
Out[13]: 
        Date
0  01JAN2017
In [14]: df.dtypes
Out[14]: 
Date    object
dtype: object

# Datatime column is read as string
# use to_datetime to convert non-standard datetime values    

In [15]: df['Date'] = pd.to_datetime(df.Date, format='%d%b%Y')
In [16]: df.dtypes
Out[16]: 
Date    datetime64[ns]
dtype: object
In [17]: df['Date']
Out[17]: 
0   2017-01-01
Name: Date, dtype: datetime64[ns]
当日期时间格式不是标准格式时,
pd.read\u csv
的文档实际上建议您使用
to\u datetime

如果列或索引包含不可解析的日期,则整个列或索引将作为对象数据类型原封不动地返回。对于非标准日期时间解析,请在pd.read\u csv之后使用pd.to\u datetime


提示:
datetime.strtime
。提示:
datetime.strtime
。这是否会增加我的运行时间,就像我使用3个日期列的大数据一样?这是否会增加我的运行时间,就像我使用3个日期列的大数据一样?