numpy 如何用行的平均值替换缺失值[关闭]

wlsrxk51  于 2023-10-19  发布在  其他
关注(0)|答案(2)|浏览(78)

已关闭,此问题需要details or clarity。它目前不接受回答。
**想改善这个问题吗?**通过editing this post添加详细信息并澄清问题。

29天前关闭
Improve this question
所以我有行,我想用每行的平均值替换nan值。
举例来说:

x = [[2,4,nan,5,3],[2,3,5,nan],...]

我知道我们可以使用Imputer(axis=1),但是对于simpleImputer,我们不再有这个选项了。

ssm49v7z

ssm49v7z1#

你可以使用raw numpy:

x = np.where(
    np.isnan(x),
    np.nanmean(x, axis=1, keepdims=True),
    x
)
2q5ifsrm

2q5ifsrm2#

结合np.nanmean + np.isnan功能:
样品阵列:

x = np.array([[2, 4, np.nan, 5, 3], [2, 3, 5, np.nan, 8]])
x[np.where(np.isnan(x))] = np.nanmean(x, axis=1)
array([[2. , 4. , 3.5, 5. , 3. ],
       [2. , 3. , 5. , 4.5, 8. ]])

相关问题