OverflowError:无法将float无穷大转换为整数

时间:2015-11-05 13:41:17

标签: python numpy pandas

我想知道为什么这会分崩离析。下面的代码在pandas 0.17.0和numpy 1.10.1(python 2.7)上运行良好

In [1]:
import pandas as pd
import numpy as np

In [2]:    
df = pd.DataFrame([['01-Nov-2015', 1],['02-Nov-2015', np.Inf],['03-Nov-2015', 4]], columns=('Date','c1'))
#df.Date = pd.to_datetime(df.Date)
df

Out[2]:
    Date         c1
0   01-Nov-2015  1.000000
1   02-Nov-2015  inf
2   03-Nov-2015  4.000000

In [3]:    
df == np.Inf

Out[3]:
    Date    c1
0   False   False
1   False   True
2   False   False

但是,如果我取消注释行df.Date = pd.to_datetime(df.Date)以进行日期类型转换并再次运行它,它将丢弃此帖子标题中提到的溢出错误。

我最初认为当一个人将时间戳(或者是datetime64?)与np.Inf进行比较时会发生什么事情,但是由于以下运行正常,所以情况似乎并非如此

In [4]:
pd.to_datetime('5-11-2015') == np.Inf

Out[4]:
False

任何意见都会受到赞赏!

1 个答案:

答案 0 :(得分:-1)

看起来像datetime的问题。如果我是你,我会拆分计算并重新加入日期时间,在底层代码中可能会发生一些奇怪的事情。