微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在pandas python中将字符串转换为日期时间格式?

我在名为train的数据帧中有一个类型为string(object)的列I_DATE,如下所示.

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格式.

另外,如何根据pandas中的日期范围过滤行?

解决方法:

使用to_datetime,不需要格式字符串,解析器是男人/女人足以处理它:

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访问者:

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

您可以使用字符串过滤作为示例:

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐