python 怎样将dataframe中的字符串日期转化为日期的方法

 更新时间:2019年09月26日 14:48:57   作者:跑马的汉子_  
这篇文章主要介绍了python 怎样将dataframe中的字符串日期转化为日期的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

方法一:也是最简单的

直接使用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 numpy中的polyfit函数用法

    python numpy中的polyfit函数用法

    这篇文章主要介绍了python numpy中的polyfit函数用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • Python获取和设置代理的动态IP的方式

    Python获取和设置代理的动态IP的方式

    在网络世界中,代理和动态IP是非常常见的概念,尤其对于需要大规模访问网站或者需要隐藏真实IP地址的应用程序来说,更是必不可少的工具,本文将给大家介绍如何使用编程技术来实现动态IP的设置和管理,需要的朋友可以参考下
    2024-05-05
  • Python中的fileinput模块的简单实用示例

    Python中的fileinput模块的简单实用示例

    这篇文章主要介绍了Python中的fileinput模块实用示例,文中的示例是使用其来便利硬盘分区下的文本文件并打印其中行的长度,需要的朋友可以参考下
    2015-07-07
  • caffe的python接口生成solver文件详解学习

    caffe的python接口生成solver文件详解学习

    这篇文章主要为大家介绍了caffe的python接口生成solver文件详解学习示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • pydev使用wxpython找不到路径的解决方法

    pydev使用wxpython找不到路径的解决方法

    pydev使用wx库开发的过程中,import时碰到wx可以识别,但是其它很多函数和变量上面全部是红叉,即无法识别
    2013-02-02
  • 如何使用Python VTK绘制线条

    如何使用Python VTK绘制线条

    这篇文章主要介绍了如何使用Python-VTK绘制线条,主要绘制直线和曲线,下面文章详细实现过程需要的小伙伴可以参考一下
    2022-04-04
  • 100 个 Python 小例子(练习题二)

    100 个 Python 小例子(练习题二)

    这篇文章主要继续上一篇文章100 个 Python 小例子(练习题一)来完成100 个 Python 小例子,本文包括字母识词、反向输出II、表转字符串、设置输出颜色、算素数等例子,需要的朋友可以参考一下
    2021-10-10
  • Python字符串处理之count()方法的使用

    Python字符串处理之count()方法的使用

    这篇文章主要介绍了Python字符串处理之count()方法的使用,是Python入门的基础知识,需要的朋友可以参考下
    2015-05-05
  • Python THREADING模块中的JOIN()方法深入理解

    Python THREADING模块中的JOIN()方法深入理解

    这篇文章主要介绍了Python THREADING模块中的JOIN()方法深入理解,本文用简洁易懂的语言总结了对JOIN()方法的理解,不同于其它文章,需要的朋友可以参考下
    2015-02-02
  • 详解python中absl包的使用

    详解python中absl包的使用

    "absl" 是 Google 开发的一个 Python 软件包,用于提供一些常见的 Python 编程功能和工具,以改善代码的可读性、可维护性和性能,下面我们就来看看absl包的具体使用吧
    2023-11-11

最新评论