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正则抓取新闻标题和链接的方法示例
Apr 24 Python
Python爬虫DOTA排行榜爬取实例(分享)
Jun 13 Python
使用python获取csv文本的某行或某列数据的实例
Apr 03 Python
简单谈谈python基本数据类型
Sep 26 Python
Python实现八皇后问题示例代码
Dec 09 Python
Python检查ping终端的方法
Jan 26 Python
python数据库操作mysql:pymysql、sqlalchemy常见用法详解
Mar 30 Python
django 外键创建注意事项说明
May 20 Python
DRF框架API版本管理实现方法解析
Aug 21 Python
python各种excel写入方式的速度对比
Nov 10 Python
python绘制高斯曲线
Feb 19 Python
python+pytest接口自动化之token关联登录的实现
Apr 06 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写的MySQL数据库用户认证系统代码
2007/03/22 PHP
一个比较简单的PHP 分页分组类
2009/12/10 PHP
php计算给定日期所在周的开始日期和结束日期示例
2017/02/06 PHP
Yii框架学习笔记之应用组件操作示例
2019/11/13 PHP
JavaScript高级程序设计 客户端存储学习笔记
2011/09/10 Javascript
js实现的点击数量加一可操作数据库
2014/05/09 Javascript
nw.js实现类似微信的聊天软件
2015/03/16 Javascript
jQuery中(function($){})(jQuery)详解
2015/07/15 Javascript
JavaScript的jQuery库插件的简要开发指南
2015/08/12 Javascript
javascript中利用柯里化函数实现bind方法【推荐】
2016/04/29 Javascript
jQuery添加options点击事件并传值实例代码
2016/05/18 Javascript
详解如何较好的使用js
2016/12/16 Javascript
ES6中Symbol类型用法实例详解
2017/04/06 Javascript
vue-cli脚手架config目录下index.js配置文件的方法
2018/03/13 Javascript
Node.js应用设置安全的沙箱环境
2018/04/23 Javascript
vue-cli的工程模板与构建工具详解
2018/09/27 Javascript
关于Vue源码vm.$watch()内部原理详解
2019/04/26 Javascript
解决layui追加或者动态修改的表单元素“没效果”的问题
2019/09/18 Javascript
Node.js API详解之 V8模块用法实例分析
2020/06/05 Javascript
Vue项目前后端联调(使用proxyTable实现跨域方式)
2020/07/18 Javascript
JavaScript 如何在浏览器中使用摄像头
2020/12/02 Javascript
python的urllib模块显示下载进度示例
2014/01/17 Python
Python中__call__用法实例
2014/08/29 Python
十个Python程序员易犯的错误
2015/12/15 Python
Python中的 sort 和 sorted的用法与区别
2019/08/10 Python
详解python中index()、find()方法
2019/08/29 Python
Python调用C/C++的方法解析
2020/08/05 Python
在pycharm中使用pipenv创建虚拟环境和安装django的详细教程
2020/11/30 Python
HTML5 语义化结构化规范化
2008/10/17 HTML / CSS
ALDO英国官网:加拿大女鞋品牌
2018/02/19 全球购物
Genny意大利官网:意大利高级时装品牌
2020/04/15 全球购物
森林病虫害防治方案
2014/06/02 职场文书
房屋租赁合同补充协议
2014/10/11 职场文书
优秀团员事迹材料
2014/12/25 职场文书
2016年小学“感恩教师”主题队日活动总结
2016/04/01 职场文书
.Net Core导入千万级数据至Mysql的步骤
2021/05/24 MySQL