pyarrow.lib.ArrowInvalid: Casting from timestamp[us] to timestamp[ns] would result in out of bounds
项目场景:
从oracle读取数据后转为dataframe形式,然后通过to_feather()存入ft文件
之后通过pandas.read_feather()从文件中读取dataframe数据
数据类型包括date,并且有超出时间戳的数据,比如0002-12-01 00:00:00或9999-10-01 00:00:00
问题描述:
存入feather文件时正常,从ft文件读取时出错,错误如下
大概意思是从timestamp[us]强制转换为timestamp[ns]将导致时间戳越界
pyarrow.lib.ArrowInvalid: Casting from timestamp[us] to timestamp[ns] would result in out of bounds timestamp
原因分析:
就是date类型的某些数据超过了时间戳的界限
解决方案:
在网上实在搜不到能一眼看懂的解决方案,直到在pandas官网上一直死磕Representing out-of-bounds spans部分,发现了可行的解决方案:
pandas.PeriodIndex
pandas官网上的示例如下
In [413]: span = pd.period_range('1215-01-01', '1381-01-01', freq='D')In [414]: span
Out[414]:
PeriodIndex(['1215-01-01', '1215-01-02', '1215-01-03', '1215-01-04','1215-01-05', '1215-01-06', '1215-01-07', '1215-01-08','1215-01-09', '1215-01-10',...'1380-12-23', '1380-12-24', '1380-12-25', '1380-12-26','1380-12-27', '1380-12-28', '1380-12-29', '1380-12-30','1380-12-31', '1381-01-01'],dtype='period[D]', length=60632, freq='D')
这不就是创了个区间的数据,实在没看懂怎么用PeriodIndex
之后直接去看PeriodIndex的用法,发现它的参数里有data,寻思直接调用PeriodIndex(data)把我dataframe里的越界数据调整一下?df['SWHZDJRQ'] = pd.PeriodIndex(df.SWHZDJRQ)
(SWHZDJRQ是我dataframe里日期的列名)
然后报了个错?
ValueError: freq not specified and cannot be inferred
freq没指定,无法判断?那我就加上了freq参数,这个参数的介绍如下
fre:qstr or period object, optional. One of pandas period strings or corresponding objects.
大概是指定精度啥的,然后设为秒df['SWHZDJRQ'] = pd.PeriodIndex(df.SWHZDJRQ,freq='s')
一运行,诶,可以了,没啥错误了,也不报越界了,总算搞定了,折腾了一整天。
pyarrow.lib.ArrowInvalid: Casting from timestamp[us] to timestamp[ns] would result in out of bounds相关推荐
- pyarrow.lib.ArrowInvalid: ‘utf-32-le‘ codec can‘t decode
使用pyspark的定义数据类型后,通过@pandas_udf的形式进行装饰的时候发现错误. 代码片段如下: schema = StructType([StructField("store_ ...
- mysql timestamp _mysql之TIMESTAMP(时间戳)用法详解
一.TIMESTAMP的变体 TIMESTAMP时间戳在创建的时候可以有多重不同的特性,如: 1.在创建新记录和修改现有记录的时候都对这个数据列刷新: TIMESTAMP DEFAULT CURREN ...
- mysql timestamp 类型_MySQL timestamp类型
在本教程中,您将了解MySQL TIMESTAMP和TIMESTAMP列的功能,如使用时间戳自动初始化和更新. MySQL TIMESTAMP简介 MySQL TIMESTAMP是一种保存日期和时间组 ...
- mysql timestamp格式化_mysql TIMESTAMP(时间戳)详解
TIMESTAMP的变体 1,TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 在创建新记录和修改现有记录的时候都对这个数 ...
- java timestamp 使用_Java Timestamp 类的使用(转)
怎么把一个java.util.Date类型转化成java.sql.Timestamp类型呢? 很简单,我们可以这样声明 Timestamp ts=new Timestamp(new Date() ...
- python timestamp转date_python timestamp和datetime之间转换详解
做开发中难免时间类型之间的转换, 最近就发现前端js和后端django经常要用到这个转换, 其中jsDate.now()精确到毫秒,而Python中Datetime.datetime.now()是精确 ...
- mysql timestamp json_mysql中timestamp,datetime,int类型的区别与优劣
mysql中timestamp,datetime,int类型的区别与优劣 int 1. 占用4个字节 2. 建立索引之后,查询速度快 3. 条件范围搜索可以使用使用between 4. 不能使用mys ...
- mysql timestamp 用法_MYSQL timestamp用法
问题来源 在业务系统中,有时候想要知道用户最后一次活动距离现在的时间.记得mysql是有这样的字段的,可以直接在一条记录更新时,自动更新时间.上网查了查,找到了,是timestamp类型. 用法 在表 ...
- timestamp 6 mysql_Oracle timestamp(6)运用
我们都知道date和timestamp都是对日期和时间的表示,只是两种类型的精确度不同,前者精确到秒,后者精确到小数秒(fractional_se 我们都知道date和timestamp都是对日期和时 ...
最新文章
- python第三方库中函数调用_Python学习笔记(2)——Python的函数、模块、包和库...
- 概说《TCP/IP详解 卷2》缘起
- python乘法口诀编程-中年大叔学编程-用Python打印个九九乘法表
- Oracle 检查点队列和HASH Bucket
- VTK:可视化之LegendScaleActor
- 基于VHDL语言的数字秒表实现
- globalmapper如何选取图像上的点_OpenCV 进阶应用,用编程手段搞定图像处理
- CSS3属性box-shadow使用教程
- Linux大实验 (图书管理系统)
- Android开发艺术探索知识回顾——第0章 书本内容介绍
- 计算机视觉项目实战-驾驶员疲劳检测
- Wheel Speed Sensor Bosch 文章
- 海康摄像头监控预览二开,萤石云对接说明
- 学习.NET好书推荐
- Angel 相关学习
- tomcat6\webapps\manager does not exist or is not a readable directory
- python3连接mysql获取ansible动态inventory脚本
- OSS上传txt文件乱码问题
- 几种你不知道的获取浙A牌照的方法
- B40 - 基于STM32单片机的电热蚊香蓝牙控制系统
热门文章
- matlab练习程序(图像马赛克)
- 兰州大学本科生发表31篇论文引关注!本人及校方回应
- c语言中 在对全部数组元素赋初值时,在对数组全部元素赋初值时,不可以省略行数,但能省略列数...
- 听见丨前谷歌无人车负责人联手大众和现代 开发自动驾驶 自动驾驶技术研发公司AImotive获3800万美元C轮融资
- ETDR 0A 电缆故障测试仪 手持便携式 电缆故障脉冲反射仪 可测30KM
- 耶鲁大学的心态 ,送给正在奋斗的人!
- 信息系统开发与管理【八】之 运行管理
- selenium+unittest自动化测试发送邮件
- java基础知识 API文档 字符串基本操作 正则表达式 Object
- 计算机专业简历的自我介绍,计算机专业简历自我介绍范文 .docx