【发布时间】:2019-10-24 23:21:25
【问题描述】:
我正在对一个数据框进行计算,最终将一列除以零。我不想删除具有 inf 值的行。我想知道怎么处理?
我尝试将其转换为 NaN 但不起作用。
另外,最终目标是使用df['Days needed'] 列并将其添加到df['Time']。
我试过这个,但最终在 inf 上出错,
df['Time'] = pd.to_datetime(df['Time'])
temp = df['Days needed'].apply(np.ceil).apply(lambda x: pd.Timedelta(x, unit='D'))
df['Day'] = df['Time'] + temp
我得到错误
溢出错误:无法将浮点无穷大转换为临时整数。
【问题讨论】:
-
任何样本数据和预期输出?
-
如果您不需要对它们进行计算,但想保留它们,您可以这样做,
df.loc[df['Time'].isnul()==False,'Day'] = df['Time'] + temp我假设您已在上面将它们更改为 nan。 -
如果你不关心保留它们,你也可以用 NaN 替换你的 inf 值:
df['Time'].replace([np.inf, -np.inf], np.nan)。在您有 Inf 的情况下,您的计算应该评估为 NaN。
标签: python pandas dataframe datetime error-handling