python 怎样将dataframe中的字符串日期转化为日期的方法


Posted in Python onSeptember 26, 2019

方法一:也是最简单的

直接使用pd.to_datetime函数实现

data['交易时间'] = pd.to_datetime(data['交易时间'])

方法二:

源自利用python进行数据分析P304

使用python的datetime包中的

strptime函数,datetime.strptime(value,'%Y/%M/%D')

strftime函数,datetime.strftime(‘%Y/%M/%D')

注意使用datetime包中后面的字符串匹配需要和原字符串的格式相同,才能转义过来,相当于yyyy-mm-dd格式的需要按照'%Y-%M-%D'来实现,而不是'%Y/%M/%D'

data['交易时间']=data['交易时间'].apply(lambda x:datetime.strptime(x,'%Y-%m-%d %H:%M:%S'))

注意到上面代码的'%Y-%m-%d %H:%M:%S'嘛?

这里的格式必须与原数值的格式一模一样才能转换,如果原数值里面是精确到时分秒的,那么你此处不写%H:%M:%S就没办法转换!!!切记

'''
获取指定日期的上个月
日期字符串和日期格式
'''
def getLastMonth(dtstr,dateformat):
 d=datetime.strptime(dtstr, dateformat).date()
 year = d.year
 month = d.month
 if month == 1 :#如果是本年1月的
 month = 12
 year -= 1
 else :#如果是大于1月的
 month -= 1
 return (datetime(year,month,1)).strftime(dateformat)
 
'''
两个日期之间相差的月数
包括开始日期和结束日期的当天
日期字符串和日期格式
''' 
def diffMonth(startDate,endDate,dateformat):
 start=datetime.strptime(startDate, dateformat).date()
 end=datetime.strptime(endDate, dateformat).date()
 
 startYear=start.year
 startMonth=start.month
 
 endYear=end.year
 endMonth=end.month
 
 #如果是同年
 if startYear==endYear:
 diffmonths=endMonth-startMonth
 #如果是上年
 elif endYear-startYear==1:
 diffmonths=12+endMonth-startMonth
 #如果是大于1年
 elif endYear-startYear>1:
 years=endYear-startYear
 diffmonths=(years-1)*12+12+endMonth-startMonth
 #如果开始日期大约结束日期报错
 elif endYear-startYear<0 or( endYear==startYear and endMonth-startMonth):
 print 'enddate must greater than startdate'
 
 return int(diffmonths+1)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现的重启关机程序实例
Aug 21 Python
python中的reduce内建函数使用方法指南
Aug 31 Python
python实现计算资源图标crc值的方法
Oct 05 Python
详解Python设计模式编程中观察者模式与策略模式的运用
Mar 02 Python
python 性能优化方法小结
Mar 31 Python
Python实现一个Git日志统计分析的小工具
Dec 14 Python
Python实现从log日志中提取ip的方法【正则提取】
Mar 31 Python
浅谈tensorflow中几个随机函数的用法
Jul 27 Python
python 根据字典的键值进行排序的方法
Jul 24 Python
Pytorch 实现sobel算子的卷积操作详解
Jan 10 Python
tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解
Jun 03 Python
python中pycryto实现数据加密
Apr 29 Python
python3多线程知识点总结
Sep 26 #Python
详解基于python的多张不同宽高图片拼接成大图
Sep 26 #Python
Python容器使用的5个技巧和2个误区总结
Sep 26 #Python
通过python3实现投票功能代码实例
Sep 26 #Python
Python编写打字训练小程序
Sep 26 #Python
Python 如何优雅的将数字转化为时间格式的方法
Sep 26 #Python
python3.7实现云之讯、聚合短信平台的短信发送功能
Sep 26 #Python
You might like
德生S2000南麂列岛台湾FM收听记录
2021/03/02 无线电
各种咖啡的英文名子是什么
2021/03/03 新手入门
PHP 中英文混合排版中处理字符串常用的函数
2007/04/12 PHP
php中的MVC模式运用技巧
2007/05/03 PHP
用php将任何格式视频转为flv的代码
2009/09/03 PHP
PHP源代码数组统计count分析
2011/08/02 PHP
prototype 中文参数乱码解决方案
2009/11/09 Javascript
JavaScript 基础篇之对象、数组使用介绍(三)
2012/04/07 Javascript
Js四则运算函数代码
2012/07/21 Javascript
实现图片预加载的三大方法及优缺点分析
2014/11/19 Javascript
推荐9款炫酷的基于jquery的页面特效
2014/12/07 Javascript
javascript单例模式的简单实现方法
2015/07/25 Javascript
Bootstrap简单表单显示学习笔记
2016/11/15 Javascript
js实现文字无缝向上滚动
2017/02/16 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(二)
2017/05/11 Javascript
js实现以最简单的方式将数组元素添加到对象中的方法
2017/12/20 Javascript
JavaScript数据结构与算法之基本排序算法定义与效率比较【冒泡、选择、插入排序】
2019/02/21 Javascript
js 实现watch监听数据变化的代码
2019/10/13 Javascript
[46:47]完美世界DOTA2联赛PWL S2 FTD vs Magma 第二场 11.20
2020/11/23 DOTA
Python基于pycrypto实现的AES加密和解密算法示例
2018/04/10 Python
PyQt5每天必学之弹出消息框
2018/04/19 Python
使用Python读取二进制文件的实例讲解
2018/07/09 Python
使用PyCharm创建Django项目及基本配置详解
2018/10/24 Python
对python中词典的values值的修改或新增KEY详解
2019/01/20 Python
pandas DataFrame行或列的删除方法的实现示例
2019/08/02 Python
Python对接 xray 和微信实现自动告警
2019/09/17 Python
地球一小时倡议书
2014/04/15 职场文书
亲子活动总结
2014/04/26 职场文书
我爱祖国演讲稿
2014/09/02 职场文书
单位租车协议书
2015/01/29 职场文书
毕业生个人总结
2015/02/28 职场文书
大学团日活动总结书
2015/05/11 职场文书
2016幼儿园中班开学寄语
2015/12/03 职场文书
2016年五四青年节校园广播稿
2015/12/17 职场文书
广告文案的撰写技巧(实用干货)
2019/08/23 职场文书
nginx 添加http_stub_status_module模块
2022/05/25 Servers