python index out of bounds_如何解决Python Pandas DataFrame的“Out of bounds nanosecond timestamp”错误?...

以下代码抛出“超出界限的纳秒时间戳:1452-04-15 00:00:00

“错误.如果我将日期字符串替换为某些最近的日期,例如2017-01-01,则相同的代码可以正常工作.

df=pd.DataFrame({'Date':np.arange('1452-04-15', '1519-05-02', dtype='datetime64[D]')})

此示例代码用于提供重现错误的简便方法.我真正想要做的是将包含非常早期日期的csv读入数据帧,并将字符串日期转换为np.datetime64 [D]或任何可比较的日期格式.

r = pd.period_range('1452-04-15', '1519-05-02')

print (r)

PeriodIndex(['1452-04-15', '1452-04-16', '1452-04-17', '1452-04-18',

'1452-04-19', '1452-04-20', '1452-04-21', '1452-04-22',

'1452-04-23', '1452-04-24',

...

'1519-04-23', '1519-04-24', '1519-04-25', '1519-04-26',

'1519-04-27', '1519-04-28', '1519-04-29', '1519-04-30',

'1519-05-01', '1519-05-02'],

dtype='period[D]', length=24488, freq='D')

df = pd.DataFrame({'Date' : r})

print (df.head())

Date

0 1452-04-15

1 1452-04-16

2 1452-04-17

3 1452-04-18

4 1452-04-19

In [66]: pd.Timestamp.min

Out[66]: Timestamp('1677-09-21 00:12:43.145225')

In [67]: pd.Timestamp.max

Out[67]: Timestamp('2262-04-11 23:47:16.854775807')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值