python时间处理(三)pandas.to_datetime

2023-11-13

前两篇内容讲了两个单独的python库函数,今天带大家认识一个常用的工具,pandas.to_datetime(),它是pandas库的一个方法,pandas库想必大家非常熟悉了,这里不再多说。这个方法的实用性在于,当需要批量处理时间数据时,无疑是最好用的。

首先看一下它的主要几个参数,官方文档在本文最后给出

pandas.to_datetimeargerrors ='raise'utc = Noneformat = Noneunit = None 

参数 意义
errors

三种取值,‘ignore’, ‘raise’, ‘coerce’,默认为raise。

'raise',则无效的解析将引发异常

'coerce',那么无效解析将被设置为NaT

'ignore',那么无效的解析将返回输入值

utc

布尔值,默认为none。返回utc即协调世界时。
format 格式化显示时间的格式。
unit 默认值为‘ns’,则将会精确到微妙,‘s'为秒。

官方文档中有几个简单的例子,这里稍微提一下:

1、
df = pd.DataFrame({'year': [2015, 2016],
                       'month': [2, 3],
                       'day': [4, 5]})
pd.to_datetime(df)
#0   2015-02-04
#1   2016-03-05
#dtype: datetime64[ns]
#可以看到将字典形式时间转换为可读时间

2、
pd.to_datetime('13000101', format='%Y%m%d', errors='ignore')
#datetime.datetime(1300, 1, 1, 0, 0)

pd.to_datetime('13000101', format='%Y%m%d', errors='coerce')
#NaT
#如果日期不符合时间戳限制,则errors ='ignore'将返回原始输入,而不会报错。
#errors='coerce'将强制超出NaT的日期,返回NaT。

然而实际中遇到的可能是这样的数据:

通过pandas.read_csv()或者pandas.read_excel()读取文件过后,得到的数据列对应的类型是“object”,这样没法对时间数据处理,可以用过pd.to_datetime将该列数据转换为时间类型,即datetime。
data.dtypes
# object

data= pd.to_datetime(data)
data.dtypes
# datetime64[ns]

转换过后就可以对这些时间数据操作了,可以相减求时间差,计算相差的秒数和天数,调用的方法和datetime库的方法一致,分别是 data.dt.days() 、data.dt.seconds() 、data.dt.total_seconds()。

 到这里就结束了吗? 不不,还没有。这里再教大家通过pandas将时间与时间戳相互转换,原理是一样的通过datetime、time库,技巧是用apply()函数来实现它。

将data的所有时间转换为时间戳(此时数据类型已经是datetime,是object的报错不要找我。。)

data = data.apply(lambda x:time.mktime(x.timetuple()))
#x.timetuple()将时间转换为时间元组,提前导入time模块

将data的所有时间戳转换为可读时间:

data = data.apply(lambda x:time.strftime('%Y/%m/%d %H:%M:%S',time.localtime(x)))
#代码含义为:先读取时间戳数据,将其转换为时间元组,在通过格式化时间转换为可读的时间格式

结束了结束了。。

最后奉上官方文档:pandas.to_datetime

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python时间处理(三)pandas.to_datetime 的相关文章

随机推荐

  • Java面向对象(1) —— 封装

    目录 一 封装的概念 二 类的封装以及使用 三 访问修饰符 四 属性封装的实现 五 方法封装的实现 六 UML类图 七 类的构造方法与可重载 八 this关键字 九 static关键字 十 方法重载 overload 十一 包 packag
  • unity制作和输出摄像机环绕动画

    1 需要用到两个官方插件Cinemachine以及Recorder 2 第一步设置摄像机 创建一个虚拟相机CM vcam1 这时主摄像机会自动加载Cinemachinebrain组件 并指定CM1 3 设置CM1的参数 创建空物体命名为ta
  • 4 朴素贝叶斯法

    文章目录 4 朴素贝叶斯法 4 1 朴素贝叶斯的学习与分类 4 1 1 基本方法 4 1 2 后验概率最大化的含义 4 2 朴素贝叶斯法的参数估计 4 2 1 极大似然估计 4 2 2 学习与分类算法 4 2 3 贝叶斯估计 4 3 代码
  • 前端面试题总结----

    1 基础 1 1 性能优化 图片压缩 小图使用base64 数据缓存 避免重复请求 合理使用标签 避免创建无用的DOM结构 减少DOM操作 减少重排 尽可能重绘 避免空的src或者href值 启用 gzip 压缩 css 放顶部 js 放底
  • LTE中扫频及小区搜索

    2 1 扫频 2 1 1 概述 在指定频点 小区或者候补频点 小区搜索失败或者这些信息不存在时 会进行全频 段扫描 搜索 UE 能力支持频段范围内存在的所有小区 物理层会将 RRC 下发的扫描 频段分成单位 100KHz 的小频段进行扫描
  • 使用Eclipse创建一个简单的servlet项目

    一 通过File gt new gt others找到Dynamic Web project 创建一个动态的web项目 二 配置项目 再找个位置配置你下载的Tomcat的版本 点击next Tomcat存放的位置 本地JRE 点击finis
  • 解决数据库连接时2059 - Authentication plugin 'caching_sha2_password' cannot be loaded报错

    问题如下 在Navicat里面连接数据库时直接就出现报错2059 Authentication plugin caching sha2 password cannot be loaded 从错误信息可知caching sha2 passwo
  • 隐藏手机下方的底部导航条NavigationBar

    需知 在现在的Android项目中 为了布局适配 也为了界面看起来更加简洁大气 App保留了头部标题栏 但是下方的NavigationBar却有点多余 不过当然 因为手机按键很少的缘故 若是没有NavigationBar的话 恐怕就连退出都
  • WF项目问题总结

    1 后台接口对接时 参数传递方式 urlcode 是一种编码方式 就是把http请求串的url 进行urlcode的编码 让httpserver 可以识别 不至于http的client server 之前出现乱码或者误解 例如 Conten
  • 【LeetCode每日一题】5. 最长回文子串

    题目 给你一个字符串 s 找到 s 中最长的回文子串 示例 1 输入 s babad 输出 bab 解释 aba 同样是符合题意的答案 示例 2 示例 2 输入 s cbbd 输出 bb 示例 3 输入 s a 输出 a 示例 4 输入 s
  • Python零基础学习

    大家好 我是王某人 一 写在前面 前几天在Python技术交流群有个小伙伴分享一个使用Python画出太极阴阳八卦图的代码 这里拿出来给大家分享下 一起学习下 不过这里他的代码是有点问题的 不过不慌 下面给出了解答 二 解决过程 下面给出了
  • SSL/TLS协议交互流程分析

    本文参考 SSL TLS协议运行机制的概述 tls运行机制 这里不细说 建议细看 HTTPS与TLS The Transport Layer Security TLS Protocol v1 2 ssl tls基础介绍 SSL Secure
  • 2021PMP冲刺题,敏捷题目摘录

    1 单选 在每日站会期间 开发人员提出了一个影响产品质量并需要解决方案的问题 项目经理应该做什么 During the daily stand up the developer raises a problem that affects p
  • JZ15 二进制中1的个数

    输入一个整数 n 输出该数32位二进制表示中1的个数 其中负数用补码表示 数据范围 2 31 lt n lt 2 31 1 231 lt n lt 231 1 即范围为 2147483648 lt n lt 2147483647 21474
  • 毕业设计记录-matlab自动生成并标注时频图数据集

    文章目录 2022 1 8日的记录 2022 1 8日的记录 陆陆续续几天 玩中带做终于是写好了一个基本的雏形 以后想往里面添加东西就好添了 首先是文件功能描述 caogao caogao 草稿 写程序调试代码的地方 CreateSigna
  • openssl使用错误"error: storage size of 'ctx' isn't known"

    前言 SSL是Secure Sockets Layer 安全套接层协议 的缩写 openssl是一套开源的库 以便使用者进行安全通信 避免窃听 识别身份 其中 ssl的HMAC是计算MAC的一种方法 有密钥参与计算 不采用HASH算法 对数
  • Python学习笔记(浙大MOOC)

    Python学习笔记 浙大MOOC Python 条件语句 循环语句 while语句 for语句 举例 异常处理 集合 add 和 remove min max len 和sum set 集合操作 字典 简单举例 相关函数 函数的定义与调用
  • HDFS权限

    HDFS的权限管理是被用户最常问到的问题之一 HDFS实现了一个和POSIX系统相似的文件和目录的权限模型 同时还支持POSIX ACLs规范 因为POSIX ACLs自己就比较复杂 还改变了一些传统POSIX权限体系的语义 所以大部分用户
  • python连接db2

    在python2 6下连接db2 步骤 1 安装python2 6 注 目前db2的驱动还不支持2 7 2 安装setuptools 下载地址http pypi python org pypi setuptools 3 设置环境变量path
  • python时间处理(三)pandas.to_datetime

    前两篇内容讲了两个单独的python库函数 今天带大家认识一个常用的工具 pandas to datetime 它是pandas库的一个方法 pandas库想必大家非常熟悉了 这里不再多说 这个方法的实用性在于 当需要批量处理时间数据时 无