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

yipeiwu_com7年前Python基础

每次遇到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()函数

总结

以上所述是小编给大家介绍的python中有关时间日期格式转换问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

pymysql 开启调试模式的实现

pymysql 开启调试模式的实现

今天在排查线上一个奇怪的数据库连接问题,所以打开了 pymysql 的源码在阅读,发现 pymysql 在其 connections 模块里内置了一个 DEBUG 变量用于控制是否开启调...

python设计tcp数据包协议类的例子

python设计tcp数据包协议类的例子

一. 问题描述 在tcp编程中,最需要解决的就是粘包分包问题。所以,我们需要在每个数据包前面加上数据包的长度用以分割粘连的包。 二. 包结构的设计 包的组成:包长度+数据域 包长度:用4...

python+requests+unittest API接口测试实例(详解)

python+requests+unittest API接口测试实例(详解)

我在网上查找了下接口测试相关的资料,大都重点是以数据驱动的形式,将用例维护在文本或表格中,而没有说明怎么样去生成想要的用例, 问题: 测试接口时,比如参数a,b,c,我要先测a参数,有(...

python 把列表转化为字符串的方法

列表转化为字符串 如下所示: >>> list1=['ak','uk',4] >>> list2=[str(i) for i in list1]...

Python字符串逆序的实现方法【一题多解】

/post/156406.htm /post/156407.htm 1. 使用索引 >> strA = 'abcdefg' >> strA[::-1] 'gf...