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 多线程抓取图片效率对比
Feb 27 Python
Python 多线程实例详解
Mar 25 Python
Python实现的文本简单可逆加密算法示例
May 18 Python
Python实现自动登录百度空间的方法
Jun 10 Python
Python实现的概率分布运算操作示例
Aug 14 Python
python 切换root 执行命令的方法
Jan 19 Python
实例讲解Python中浮点型的基本内容
Feb 11 Python
Python数据类型之Dict字典实例详解
May 07 Python
python numpy--数组的组合和分割实例
Feb 24 Python
python 数据分析实现长宽格式的转换
May 18 Python
Django web自定义通用权限控制实现方法
Nov 24 Python
Django项目在pycharm新建的步骤方法
Mar 02 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控制用户的浏览器--ob*函数的使用说明
2007/03/16 PHP
php array_slice函数的使用以及参数详解
2008/08/30 PHP
php db类库进行数据库操作
2009/03/19 PHP
php四种基础算法代码实例
2013/10/29 PHP
wordpress自定义url参数实现路由功能的代码示例
2013/11/28 PHP
54个提高PHP程序运行效率的方法
2015/07/19 PHP
PHP实现时间日期友好显示实现代码
2019/09/08 PHP
javascript之bind使用介绍
2011/10/09 Javascript
jQuery防止click双击多次提交及传递动态函数或多参数
2014/04/02 Javascript
jquery通过扩展select控件实现支持enter或focus选择的方法
2015/11/19 Javascript
jQuery事件绑定用法详解(附bind和live的区别)
2016/01/19 Javascript
关于JSON.parse(),JSON.stringify(),jQuery.parseJSON()的用法
2016/06/30 Javascript
使用ReactJS实现tab页切换、菜单栏切换、手风琴切换和进度条效果
2016/10/17 Javascript
JQuery和PHP结合实现动态进度条上传显示
2016/11/23 Javascript
jQuery密码强度验证控件使用详解
2017/01/05 Javascript
Angular.JS内置服务$http对数据库的增删改使用教程
2017/05/07 Javascript
微信小程序 数据绑定及运算的简单实例
2017/09/20 Javascript
javaScript日期工具类DateUtils详解
2017/12/08 Javascript
关于JavaScript中高阶函数的魅力详解
2018/09/07 Javascript
vue双向绑定数据限制长度的方法
2019/11/04 Javascript
Vue绑定用户接口实现代码示例
2020/11/04 Javascript
微信小程序视频弹幕发送功能的实现
2020/12/28 Javascript
Python排序搜索基本算法之插入排序实例分析
2017/12/11 Python
numpy中实现二维数组按照某列、某行排序的方法
2018/04/04 Python
python实现猜单词小游戏
2020/05/22 Python
pyinstaller打包多个py文件和去除cmd黑框的方法
2019/06/21 Python
Python try except finally资源回收的实现
2021/01/25 Python
印度首选时尚目的地:Reliance Trends
2018/01/17 全球购物
后勤副校长自我鉴定
2013/10/13 职场文书
初中同学聚会邀请函
2014/02/03 职场文书
会务接待方案
2014/02/27 职场文书
青蓝工程实施方案
2014/03/27 职场文书
校园歌手大赛主持词
2015/07/03 职场文书
python基础之错误和异常处理
2021/10/24 Python
如何打开Win11系统注册表编辑器?Win11注册表编辑器打开修复方法
2022/04/05 数码科技
MySQL 数据 data 基本操作
2022/05/04 MySQL