编程语言
首页 > 编程语言> > python – 在偏移前滚后添加一个月偏移量的pandas超出边界纳秒时间戳

python – 在偏移前滚后添加一个月偏移量的pandas超出边界纳秒时间戳

作者:互联网

我很困惑pandas如何用这些行吹出日期时间对象的界限:

import pandas as pd
BOMoffset = pd.tseries.offsets.MonthBegin()
# here some code sets the all_treatments dataframe and the newrowix, micolix, mocolix counters
all_treatments.iloc[newrowix,micolix] = BOMoffset.rollforward(all_treatments.iloc[i,micolix] + pd.tseries.offsets.DateOffset(months = x))
all_treatments.iloc[newrowix,mocolix] = BOMoffset.rollforward(all_treatments.iloc[newrowix,micolix]+ pd.tseries.offsets.DateOffset(months = 1))

这里all_treatments.iloc [i,micolix]是由pd.to_datetime设置的日期时间(all_treatments [‘INDATUMA’],errors =’coerce’,format =’%Y%m%d’),INDATUMA是日期信息.格式20070125.

这个逻辑似乎适用于模拟数据(没有错误,日期有意义),所以目前我无法在我的整个数据失败时重现,并出现以下错误:

pandas.tslib.OutOfBoundsDatetime: Out of bounds nanosecond timestamp: 2262-05-01 00:00:00

解决方法:

由于pandas表示以纳秒分辨率表示的时间戳,因此使用64位整数表示的时间跨度限制为大约584年

pd.Timestamp.min
Out[54]: Timestamp('1677-09-22 00:12:43.145225')

In [55]: pd.Timestamp.max
Out[55]: Timestamp('2262-04-11 23:47:16.854775807')

而且你的价值超出了这个范围2262-05-01 00:00:00,因此outofbounds错误

直接出:http://pandas-docs.github.io/pandas-docs-travis/timeseries.html#timestamp-limitations

标签:datetimeoffset,python,pandas,datetime
来源: https://codeday.me/bug/20191004/1853534.html