pandas - OutOfBoundsDatetime:无法使用单位“s”转换输入
问题描述
我想将单位的时间戳转换为当前时间。当我输入下面的代码时:</p>
ad_operation['Change_time'] = pd.to_datetime(ad_operation['Change_time'],unit='s')
它有这样一个错误:“OutOfBoundsDatetime: cannot convert input with unit 's'”</p>
但是我在我的文件里复制了一个数据,把它变成了x,没有问题,我一头雾水,我的数据类型是int64,数据列没有空值。
x = 1529958950
pd.to_datetime(x, unit = 's')
output:Timestamp('2018-06-25 20:35:50')
这是怎么回事?</p>
样本数据ad_operation
:
ad_id Change_time Operation_type Modify_field
0 593323 0 2 2
1 593323 0 2 3
2 593323 0 2 4
3 593323 20190217000000 1 1
4 593323 20190218233855 1 2
5 593323 20190218000000 1 1
6 593323 20190230000000 1 1
解决方案
您的日期不是自 POSIX 起源以来的秒数,它们的格式为:%Y%m%d%H%M%S
.
pd.to_datetime(ad_operation.Change_time, format='%Y%m%d%H%M%S', errors='coerce')
#0 NaT
#1 NaT
#2 NaT
#3 2019-02-17 00:00:00
#4 2019-02-18 23:38:55
#5 2019-02-18 00:00:00
#6 NaT
#....
NAT 来自0
. (或像 2 月 30 日这样的奇怪日期)。我们可以看到时间戳与您在故障排除中尝试使用的时间戳不同:
ad_operation[ad_operation.Change_time.ne(0)].Change_time.agg([min, max])
#min 20190216000000
#max 20190319235959
#Name: Change_time, dtype: int64
推荐阅读
- python - 如何打印出json中的值,只有1个'searchstring'
- pandas - pandas split-apply-combine 创建了不需要的 MultiIndex
- unity3d - Unity:为什么我的动画有时只能工作?
- r - 包'ggplot2'的Rstudio安装具有非零退出状态和大量“#include嵌套太深”?
- python-3.x - 异步导入问题 - 没有属性“StreamReader”
- python - 如何将此 PHP MYSQL 函数转换为 Python
- html - flex容器内的css文本交换出错
- java - Java, removing objects in one method from an array list value of treemap
- youtube-data-api - YouTube API takes minutes now - instead of seconds
- php - 如何配置 phpmailer 以使用代理发送邮件?