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对两个有序列表进行合并和排序的例子
Jun 13 Python
Python基于twisted实现简单的web服务器
Sep 29 Python
Python中使用strip()方法删除字符串中空格的教程
May 20 Python
python结合API实现即时天气信息
Jan 19 Python
异步任务队列Celery在Django中的使用方法
Jun 07 Python
对python文件读写的缓冲行为详解
Feb 13 Python
python简单验证码识别的实现方法
May 10 Python
python binascii 进制转换实例
Jun 12 Python
Django通过json格式收集主机信息
May 29 Python
解决Keyerror ''acc'' KeyError: ''val_acc''问题
Jun 18 Python
python实现学生信息管理系统(精简版)
Nov 27 Python
Python修改DBF文件指定列
Dec 19 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
使用PHP的日期与时间函数技巧
2008/04/24 PHP
PHP Zip解压 文件在线解压缩的函数代码
2010/05/26 PHP
zf框架的Filter过滤器使用示例
2014/03/13 PHP
PHP对文件进行加锁、解锁实例
2015/01/23 PHP
php图像处理函数imagecopyresampled用法详解
2016/12/02 PHP
为Plesk PHP7启用Oracle OCI8扩展方法总结
2019/03/29 PHP
文字幻灯片
2006/06/26 Javascript
js定义对象或数组直接量时各浏览器对多余逗号的处理(json)
2011/03/05 Javascript
js字符串转换成xml对象并使用技巧解读
2013/04/18 Javascript
js动态为代码着色显示行号
2013/05/29 Javascript
document.documentElement和document.body区别介绍
2013/09/16 Javascript
完美实现八种js焦点轮播图(上篇)
2016/07/18 Javascript
Javascript中return的使用与闭包详解
2017/01/11 Javascript
详谈js遍历集合(Array,Map,Set)
2017/04/06 Javascript
node.js 中间件express-session使用详解
2017/05/20 Javascript
node.js中Buffer缓冲器的原理与使用方法分析
2019/11/23 Javascript
python简单的函数定义和用法实例
2015/05/07 Python
Python实现正弦信号的时域波形和频谱图示例【基于matplotlib】
2018/05/04 Python
基于DataFrame改变列类型的方法
2018/07/25 Python
使用pandas实现csv/excel sheet互相转换的方法
2018/12/10 Python
将python运行结果保存至本地文件中的示例讲解
2019/07/11 Python
Python批量安装卸载1000个apk的方法
2020/04/10 Python
python如何解析复杂sql,实现数据库和表的提取的实例剖析
2020/05/15 Python
德国大型的家具商店:Pharao24.de
2016/10/02 全球购物
澳大利高级泳装品牌:Bondi Born
2018/05/23 全球购物
局域网标准
2016/09/10 面试题
荷叶母亲教学反思
2014/04/30 职场文书
中层干部培训方案
2014/06/16 职场文书
2015年人民调解工作总结
2015/05/18 职场文书
朋友聚会开场白
2015/06/01 职场文书
导游词之峨眉乐山/兵马俑/北京故宫御花园
2019/09/03 职场文书
JS一分钟在github+Jekyll的博客中添加访问量功能的实现
2021/04/03 Javascript
2021-4-5课程——SQL Server查询【3】
2021/04/05 SQL Server
铁拳制作人赞《铁拳7》老头环Mod:制作精良 但别弄了
2022/04/03 其他游戏
Android Studio实现简易进制转换计算器
2022/05/20 Java/Android