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设计模式编程中Adapter适配器模式的使用实例
Mar 02 Python
使用Python的Twisted框架编写非阻塞程序的代码示例
May 25 Python
Python urls.py的三种配置写法实例详解
Apr 28 Python
django自带的server 让外网主机访问方法
May 14 Python
如何用Python合并lmdb文件
Jul 02 Python
python中的插值 scipy-interp的实现代码
Jul 23 Python
对Python3使运行暂停的方法详解
Feb 18 Python
django多个APP的urls设置方法(views重复问题解决)
Jul 19 Python
Pytorch 实现自定义参数层的例子
Aug 17 Python
python接口自动化之ConfigParser配置文件的使用详解
Aug 03 Python
Python爬虫教程知识点总结
Oct 19 Python
python基础之爬虫入门
May 10 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
一个用mysql_odbc和php写的serach数据库程序
2006/10/09 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
2016/07/01 PHP
Zend Framework框架中实现Ajax的方法示例
2017/06/27 PHP
CCPry JS类库 代码
2009/10/30 Javascript
jQuery EasyUI API 中文文档 - Form表单
2011/10/06 Javascript
js实现jquery的offset()方法实例
2015/01/10 Javascript
jQuery过滤选择器详解
2015/01/13 Javascript
jQuery源码解读之addClass()方法分析
2015/02/20 Javascript
使用AngularJS对路由进行安全性处理的方法
2015/06/18 Javascript
JQuery DIV 动态隐藏和显示的方法
2016/06/23 Javascript
js实现文字向上轮播功能
2017/01/13 Javascript
jQuery自定义元素右键点击事件(实现案例)
2017/04/28 jQuery
jquery+css实现侧边导航栏效果
2017/06/12 jQuery
详解vue中computed 和 watch的异同
2017/06/30 Javascript
vue2.x select2 指令封装详解
2017/10/12 Javascript
node app 打包工具pkg的具体使用
2019/01/17 Javascript
weui中的picker使用js进行动态绑定数据问题
2019/11/06 Javascript
ant design vue中日期选择框混合时间选择器的用法说明
2020/10/27 Javascript
python 域名分析工具实现代码
2009/07/15 Python
pydev使用wxpython找不到路径的解决方法
2013/02/10 Python
python实现的阳历转阴历(农历)算法
2014/04/25 Python
手动实现把python项目发布为exe可执行程序过程分享
2014/10/23 Python
使用django-suit为django 1.7 admin后台添加模板
2014/11/18 Python
在Linux上安装Python的Flask框架和创建第一个app实例的教程
2015/03/30 Python
python实现分析apache和nginx日志文件并输出访客ip列表的方法
2015/04/04 Python
Python实现个人微信号自动监控告警的示例
2019/07/03 Python
PyTorch预训练的实现
2019/09/18 Python
Django如何使用jwt获取用户信息
2020/04/21 Python
KLOOK客路:发现更好玩的世界,预订独一无二的旅行体验
2016/12/16 全球购物
澳大利亚女性快速时尚零售商:Ally Fashion
2018/04/25 全球购物
汉森冲浪板:Hansen Surfboards
2018/05/19 全球购物
毕业生教师求职信
2013/10/20 职场文书
优秀小学生家长评语
2014/01/30 职场文书
大学生职业生涯规划书参考模板
2014/03/05 职场文书
团委书记的竞聘演讲稿
2014/04/24 职场文书
golang 如何用反射reflect操作结构体
2021/04/28 Golang