【发布时间】:2021-05-21 01:51:13
【问题描述】:
编辑:我现在正在寻找一种干净的方法来在 Python 上估算我的数据集的缺失值
a b c
0 1 2 Falcon
1 np.nan 3 Falcon
2 np.nan np.nan Falcon
3 np.nan 4 Bird
4 np.nan 5 Bird
5 5 np.nan Bird
6 6 7 Bird
我需要根据他们的个人组使用以下条件进行估算。
(1) 对于在其前 和 前一行中具有值的缺失值,通过插值填充它
(2) 对于在其前或行有值的缺失值,用前行或上一行的值填充
(3)对于不满足(1)和(2)的缺失值,填0
结果示例如下:
a b c
0 1 2 Falcon
1 1 3 Falcon
2 0 3 Falcon
3 0 4 Bird
4 5 5 Bird
5 5 6 Bird
6 6 7 Bird
我已经尝试了下面评论中提供的代码,但是我未能通过其各自的组进行设置。我该如何在 Python 中进行操作?
【问题讨论】:
-
你有不那么干净的代码吗?什么样的插值?
-
线性插值。我不确定如何为 python 创建一个函数/循环来仅检测满足 3 个条件的字段。我已经尝试过“dataset.fillna(method='ffill', inplace=True, limit=1)”来满足条件2,但是当我使用它时,它还填充了第5行np.nan的缺失值
标签: python numpy imputation