我一直在寻找Python代码,它允许我替换数据帧列中丢失的值。我分析的重点是生物统计学,所以我不习惯用平均值/中间值/模式替换值。我想应用"Hot Deck Imputation"方法。在
我在网上找不到任何Python函数或包,它们使用数据帧的列并用“hotdack插补”方法填充缺失的值。在
但是,我确实看到了这个GitHub project,而且没有发现它有用。在
以下是我的一些数据示例(假设这是熊猫数据帧):
| age | sex | bmi | anesthesia score | pain level |
|-----|-----|------|------------------|------------|
| 78 | 1 | 40.7 | 3 | 0 |
| 55 | 1 | 25.3 | 3 | 0 |
| 52 | 0 | 25.4 | 3 | 0 |
| 77 | 1 | 44.9 | 3 | 3 |
| 71 | 1 | 26.3 | 3 | 0 |
| 39 | 0 | 28.2 | 2 | 0 |
| 82 | 1 | 27 | 2 | 1 |
| 70 | 1 | 37.9 | 3 | 0 |
| 71 | 1 | NA | 3 | 1 |
| 53 | 0 | 24.5 | 2 | NA |
| 68 | 0 | 34.7 | 3 | 0 |
| 57 | 0 | 30.7 | 2 | 0 |
| 40 | 1 | 22.4 | 2 | 0 |
| 73 | 1 | 34.2 | 2 | 0 |
| 66 | 1 | NA | 3 | 1 |
| 55 | 1 | 42.6 | NA | NA |
| 53 | 0 | 37.5 | 3 | 3 |
| 65 | 0 | 31.6 | 2 | 2 |
| 36 | 0 | 29.6 | 1 | 0 |
| 60 | 0 | 25.7 | 2 | NA |
| 70 | 1 | 30 | NA | NA |
| 66 | 1 | 28.3 | 2 | 0 |
| 63 | 1 | 29.4 | 3 | 2 |
| 70 | 1 | 36 | 3 | 2 |
我想应用一个Python函数,它允许我输入一个列作为参数,并使用“Hot-Deck插补”方法返回缺失值替换为插补值的列。在
我使用它来对模型进行统计建模,例如使用Statsmodels.api
进行线性和逻辑回归。我不是用这个来学习机器。在
任何帮助都将不胜感激!在
您可以使用使用
ffill
,它使用last observation carried forward
(LOCF)热代码插补。在Scikit学习插补提供KNN,Mean,Max等输入方法。(https://scikit-learn.org/stable/modules/impute.html)
^{pr2}$相关问题 更多 >
编程相关推荐