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实现类继承实例
Jul 04 Python
python进阶教程之循环相关函数range、enumerate、zip
Aug 30 Python
Python连接mssql数据库编码问题解决方法
Jan 01 Python
用Python写冒泡排序代码
Apr 12 Python
Selenium 模拟浏览器动态加载页面的实现方法
May 16 Python
python学生信息管理系统(初级版)
Oct 17 Python
python中退出多层循环的方法
Nov 27 Python
Python实例方法、类方法、静态方法的区别与作用详解
Mar 25 Python
Python3 列表,数组,矩阵的相互转换的方法示例
Aug 05 Python
python字符串的拼接方法总结
Nov 18 Python
python如何从键盘获取输入实例
Jun 18 Python
OpenCV项目实践之停车场车位实时检测
Apr 11 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
DISCUZ 分页代码
2007/01/02 PHP
php基于session实现数据库交互的类实例
2015/08/03 PHP
ThinkPHP开发--使用七牛云储存
2017/09/14 PHP
js判断变量是否未定义的代码
2020/03/28 Javascript
ajax页面无刷新 IE下遭遇Ajax缓存导致数据不更新的问题
2012/12/11 Javascript
在Python中使用glob模块查找文件路径的方法
2015/06/17 Javascript
jQuery EasyUi实战教程之布局篇
2016/01/26 Javascript
基于javascript实现精确到毫秒的倒计时限时抢购
2016/04/17 Javascript
javascript实现任务栏消息提示的简单实例
2016/05/31 Javascript
js中获取jsp表单中radio类型的值简单实例
2016/08/15 Javascript
基于jQuery实现表格内容的筛选功能
2016/08/21 Javascript
10个最优秀的Node.js MVC框架
2017/08/24 Javascript
如何选择适合你的JavaScript框架
2017/11/20 Javascript
关于axios如何全局注册浅析
2018/01/14 Javascript
vue 页面加载进度条组件实例
2018/02/05 Javascript
layui表格checkbox选择全选样式及功能的实例
2018/03/07 Javascript
Mac下通过brew安装指定版本的nodejs教程
2018/05/17 NodeJs
Javascript获取某个月的天数
2018/05/30 Javascript
angularjs通过过滤器返回超链接的方法
2018/10/26 Javascript
Nodejs让异步变成同步的方法
2019/03/02 NodeJs
Python中的模块和包概念介绍
2015/04/13 Python
学习python 之编写简单乘法运算题
2016/02/27 Python
Python实现的凯撒密码算法示例
2018/04/12 Python
对Python中gensim库word2vec的使用详解
2018/05/08 Python
Python Selenium 之关闭窗口close与quit的方法
2019/02/13 Python
Python 保持登录状态进行接口测试的方法示例
2019/08/06 Python
计算pytorch标准化(Normalize)所需要数据集的均值和方差实例
2020/01/15 Python
windows系统Tensorflow2.x简单安装记录(图文)
2021/01/18 Python
Html5+JS实现手机摇一摇功能
2015/04/24 HTML / CSS
集团公司党的群众路线教育实践活动工作总结
2014/03/03 职场文书
求职推荐信范文
2015/03/27 职场文书
王亚平太空授课观后感
2015/06/12 职场文书
办公室日常管理制度
2015/08/04 职场文书
PL350与SW11的比较
2021/04/22 无线电
SpringCloud的JPA连接PostgreSql的教程
2021/06/26 Java/Android
Python 详解通过Scrapy框架实现爬取百度新冠疫情数据流程
2021/11/11 Python