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之从格式化表达式到方法
Sep 28 Python
Python标准库os.path包、glob包使用实例
Nov 25 Python
Python实现的破解字符串找茬游戏算法示例
Sep 25 Python
浅谈python正则的常用方法 覆盖范围70%以上
Mar 14 Python
Python实现的建造者模式示例
Aug 06 Python
python中join()方法介绍
Oct 11 Python
Python 窗体(tkinter)按钮 位置实例
Jun 13 Python
python 图像处理画一个正弦函数代码实例
Sep 10 Python
Python3 shutil(高级文件操作模块)实例用法总结
Feb 19 Python
Python pandas 列转行操作详解(类似hive中explode方法)
May 18 Python
Python创建简单的神经网络实例讲解
Jan 04 Python
Python实现学生管理系统并生成exe可执行文件详解流程
Jan 22 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
如何对PHP程序中的常见漏洞进行攻击(上)
2006/10/09 PHP
构建简单的Webmail系统
2006/10/09 PHP
php获取用户浏览器版本的方法
2015/01/03 PHP
PHP中“=&gt;
2019/03/01 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
2019/10/15 PHP
Prototype1.5 rc2版指南最后一篇之Position
2007/01/10 Javascript
jQuery 中使用JSON的实现代码
2011/12/01 Javascript
使用jQuery和PHP实现类似360功能开关效果
2014/02/12 Javascript
JS代码防止SQL注入的方法(超简单)
2016/04/12 Javascript
Bootstrap学习笔记之css组件(3)
2016/06/07 Javascript
bootstrap模态框垂直居中效果
2016/12/03 Javascript
JS图片轮播与索引变色功能实例详解
2017/07/06 Javascript
jQuery 1.9版本以上的浏览器判断方法代码分享
2017/08/28 jQuery
Django+Vue跨域环境配置详解
2018/07/06 Javascript
JavaScript使用localStorage存储数据
2019/09/25 Javascript
解决await在forEach中不起作用的问题
2021/02/25 Javascript
[01:03:03]VP vs Mineski 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
Python程序员开发中常犯的10个错误
2014/07/07 Python
Python创建xml的方法
2015/03/10 Python
Python实现批量下载图片的方法
2015/07/08 Python
Python sqlite3事务处理方法实例分析
2017/06/19 Python
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
2018/05/11 Python
通过python扫描二维码/条形码并打印数据
2019/11/14 Python
python return逻辑判断表达式实现解析
2019/12/02 Python
python如何使用socketserver模块实现并发聊天
2019/12/14 Python
使用pytorch完成kaggle猫狗图像识别方式
2020/01/10 Python
python3处理word文档实例分析
2020/12/01 Python
浅谈html5之sse服务器发送事件EventSource介绍
2017/08/28 HTML / CSS
html5实现移动端适配完美写法
2017/11/16 HTML / CSS
新西兰最大的在线设计师眼镜店:SmartBuyGlasses新西兰
2017/10/20 全球购物
澳大利亚最大的百货公司:Myer
2018/12/21 全球购物
美国厨房和园艺工具网上商店:Nestneed
2019/08/24 全球购物
.NET里面如何取得当前的屏幕分辨率
2012/12/06 面试题
opencv实现图像几何变换
2021/03/24 Python
员工工作表扬信范文
2014/01/13 职场文书
2015年大学生社会实践评语
2015/03/26 职场文书