python - Pandas DataFrame Interpolate TypeError:: 输入类型不支持 ufunc 'isnan'
问题描述
我正在尝试在所有列都是 dtype float64 的数据框中插入 NaN 值。虽然默认的“线性”方法有效:
doseframe3 = doseframe2.interpolate(method = 'linear', axis = 1, limit_direction = 'both')
几乎任何其他方法(例如“立方”或“二次”)都会引发 TypeError:
TypeError: 输入类型不支持 ufunc 'isnan',并且根据转换规则 ''safe'' 无法安全地将输入强制转换为任何支持的类型
只是为了澄清:
- 所有列都是 dtype float64
- 我尝试将索引和列转换为 float64 而没有任何好处
需要帮忙。插值前的数据在这里: 插值前的数据
解决方案
我意识到列名到 float64 的转换没有奏效。一旦我成功地做到了,插值效果很好。
关键点似乎是使用索引(在列内插值时)或列名(跨行插值时)。这不能是对象或字符串。
推荐阅读
- go - 为什么接受自定义结构来代替错误?
- aws-lambda - 为 API CRUD 定义 Lambda 函数的最佳方法是什么?
- python - 在同一行 Python 中多次输入变量 x
- python - 计算掩码numpy数组的给定轴的模式
- eclipse - 在mac中设置我的maven项目后无法在eclipse中启动tomcat
- wmi - WMI_EXPORTER textfile_inputs 不工作?
- qt - Qt initializeOpenGLFunctions 使应用程序崩溃
- memory - 如何使用没有 RAM 的微控制器?
- php - 是否可以使用 php 滚动到容器底部?
- python - 如何使用python屏蔽输入并显示最后4位数字