小编典典

偏移量前滚加上加上一个月的偏移量后,熊猫超出了纳秒级时间戳

python

我感到困惑的是,大熊猫如何用这些行超出日期时间对象的范围:

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

阅读 192

收藏
2020-12-20

共1个答案

小编典典

由于熊猫以纳秒分辨率表示时间戳,因此可以使用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,因此发生出站错误

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

2020-12-20