首页 > 解决方案 > Pandas DataFrame Interpolate TypeError:: 输入类型不支持 ufunc 'isnan'

问题描述

我正在尝试在所有列都是 dtype float64 的数据框中插入 NaN 值。虽然默认的“线性”方法有效:

doseframe3 = doseframe2.interpolate(method = 'linear', axis = 1, limit_direction = 'both')

几乎任何其他方法(例如“立方”或“二次”)都会引发 TypeError:

TypeError: 输入类型不支持 ufunc 'isnan',并且根据转换规则 ''safe'' 无法安全地将输入强制转换为任何支持的类型

只是为了澄清:

需要帮忙。插值前的数据在这里: 插值前的数据

标签: pythonpandasinterpolation

解决方案


我意识到列名到 float64 的转换没有奏效。一旦我成功地做到了,插值效果很好。

关键点似乎是使用索引(在列内插值时)或列名(跨行插值时)。这不能是对象或字符串。


推荐阅读