如何在Pandas Python中将字符串转换为日期时间格式? [英] How to convert string to datetime format in pandas python?
本文介绍了如何在Pandas Python中将字符串转换为日期时间格式?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在名为train的数据框中有一个string(object)类型的I_DATE列,如下所示.
I have a column I_DATE of type string(object) in a dataframe called train as show below.
I_DATE
28-03-2012 2:15:00 PM
28-03-2012 2:17:28 PM
28-03-2012 2:50:50 PM
如何将I_DATE从字符串转换为数据时间格式&指定输入字符串的格式.我看到了一些答案,但不是AM/PM格式.
How to convert I_DATE from string to datatime format & specify the format of input string. I saw some answers to this but its not for AM/PM format.
此外,如何根据熊猫中的日期范围过滤行?
Also, how to filter rows based on a range of dates in pandas?
推荐答案
Use to_datetime
, there is no need for a format string the parser is man/woman enough to handle it:
In [51]:
pd.to_datetime(df['I_DATE'])
Out[51]:
0 2012-03-28 14:15:00
1 2012-03-28 14:17:28
2 2012-03-28 14:50:50
Name: I_DATE, dtype: datetime64[ns]
要访问日期/日期/时间组件,请使用 dt
访问者:
To access the date/day/time component use the dt
accessor:
In [54]:
df['I_DATE'].dt.date
Out[54]:
0 2012-03-28
1 2012-03-28
2 2012-03-28
dtype: object
In [56]:
df['I_DATE'].dt.time
Out[56]:
0 14:15:00
1 14:17:28
2 14:50:50
dtype: object
您可以使用字符串进行过滤:
You can use strings to filter as an example:
In [59]:
df = pd.DataFrame({'date':pd.date_range(start = dt.datetime(2015,1,1), end = dt.datetime.now())})
df[(df['date'] > '2015-02-04') & (df['date'] < '2015-02-10')]
Out[59]:
date
35 2015-02-05
36 2015-02-06
37 2015-02-07
38 2015-02-08
39 2015-02-09
这篇关于如何在Pandas Python中将字符串转换为日期时间格式?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文