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 相关文章推荐
SublimeText 2编译python出错的解决方法(The system cannot find the file specified)
Nov 27 Python
python字典排序实例详解
May 20 Python
Python读取properties配置文件操作示例
Mar 29 Python
Caffe均值文件mean.binaryproto转mean.npy的方法
Jul 09 Python
Python小进度条显示代码
Mar 05 Python
详解python:time模块用法
Mar 25 Python
Python 3.8中实现functools.cached_property功能
May 29 Python
python3下载抖音视频的完整代码
Jun 05 Python
python下的opencv画矩形和文字注释的实现方法
Jul 09 Python
详解Python中的分支和循环结构
Feb 11 Python
Pandas读取csv时如何设置列名
Jun 02 Python
linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
Dec 14 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面向对象法则
2012/02/23 PHP
PHP实现多图片上传类实例
2014/07/26 PHP
php实现网页缓存的工具类分享
2015/07/14 PHP
FusionCharts图表显示双Y轴双(多)曲线
2012/11/22 Javascript
javascript 实现 原路返回
2015/01/21 Javascript
Angular.Js中ng-include指令的使用与实现
2017/05/07 Javascript
Vue实现动态创建和删除数据的方法
2018/03/17 Javascript
小程序实现搜索界面 小程序实现推荐搜索列表效果
2019/05/18 Javascript
nodejs环境使用Typeorm连接查询Oracle数据
2019/12/05 NodeJs
JS如何实现网站中PC端和手机端自动识别并跳转对应的代码
2020/01/08 Javascript
es6函数之尾递归用法实例分析
2020/04/25 Javascript
python实现跨文件全局变量的方法
2014/07/07 Python
玩转python爬虫之cookie使用方法
2016/02/17 Python
Python中利用Scipy包的SIFT方法进行图片识别的实例教程
2016/06/03 Python
Python异常对代码运行性能的影响实例解析
2018/02/08 Python
Python3.5.3下配置opencv3.2.0的操作方法
2018/04/02 Python
python 批量修改/替换数据的实例
2018/07/25 Python
简单了解Django ContentType内置组件
2019/07/23 Python
Tensorflow:转置函数 transpose的使用详解
2020/02/11 Python
python 制作python包,封装成可用模块教程
2020/07/13 Python
浅谈Python3中print函数的换行
2020/08/05 Python
详解pytorch tensor和ndarray转换相关总结
2020/09/03 Python
python编写扎金花小程序的实例代码
2021/02/23 Python
html5标记文字_动力节点Java学院整理
2017/07/11 HTML / CSS
鱼油专家:Omegavia
2016/10/10 全球购物
印尼太阳百货公司网站:Matahari
2018/02/04 全球购物
年级组长自我鉴定
2014/02/22 职场文书
财务简历的自我评价
2014/03/05 职场文书
田径运动会开幕式及主持词
2014/03/28 职场文书
学习经验演讲稿
2014/05/10 职场文书
公务员诚信承诺书
2014/05/26 职场文书
温馨提示标语
2014/06/26 职场文书
银行奉献演讲稿
2014/09/16 职场文书
2015年法院工作总结范文
2015/04/28 职场文书
行政上诉状范文
2015/05/23 职场文书
如何使用Python提取Chrome浏览器保存的密码
2021/06/09 Python