我一直在试图找到Python代码,以允许我替换数据框中列中的缺失值。我的分析重点在生物统计方面,因此我不舒服使用平均数/中位数/众数替换值。我想应用"Hot Deck Imputation"方法。
我无法找到任何Python函数或在线包以获取数据框的列,并使用“Hot Deck Imputation”方法填充缺失值。
但是,我看到了这个GitHub项目,并且没有发现它有用。
以下是我的一些数据示例(假设这是一个pandas数据框):
| 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函数,可以将列作为参数输入,并返回使用“热卡盘插补”方法替换缺失值的列。
我将在统计建模中使用此功能,例如使用Statsmodels.api的线性和逻辑回归模型。我不会用于机器学习。
非常感谢任何帮助!
bfill
还是ffill
?哪一个应该是“热代码插补”(LOCF)的一种类型? - Sayandip Duttaffill
使用last observation carried forward
(LOCF)热代码插补。 - Prayson W. Daniel