python中有关时间日期格式转换问题

本文介绍了Python中处理日期格式转换的方法,包括将字符串转换为日期、使用Pandas的apply和to_datetime函数处理DataFrame列的日期格式,以及利用strftime函数将日期转换回字符串。详细阐述了各种日期格式代码,如"%Y-%m-%d",并提到了parse函数的强大解析能力。

每次遇到pandas的dataframe某列日期格式问题总会哉坑,下面记录一下常用时间日期函数....

1、字符串转化为日期 str—>date

import datetime
date_str = '2006-01-03'
date_ = datetime.datetime.strptime(date_str,'%Y-&m-%d')

这是单个字符串的转化,其中“%Y-%m-%d”表示日期字符串的格式,若date_str='2006/1/3',则可写为“%Y/%m/%d”,以此类推。

一般地,我们经常会对dataframe的某一列进行操作:

可以应用apply函数:

def strptime_row(rowi):
    return datetime.datetime.strptime(rowi,'%Y/%m/%d')

df['date'] = df['date'].apply(strptime_row)

可能apply()函数效率比较低一些,应该有专门针对某一列日期格式操作的函数,如

import pandas as pd
df['date'] = pd.to_datetime(df['date'])

to_datetime()函数可以解析多种不同的日期表示形式(如“7/6/2011”,2011年6月7日),对标准日期格式(如ISO8601)解析非常快。

还有parse()函数,几乎可以识别所有人类能够理解的日期表示方式(但遗憾的是中文不行),如:

from dateutil.parser import parse
parse('Jan 31,2008 10:45 AM')

2、日期转化为字符串

可以使用strftime()函数

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值