gpt4 book ai didi

python - 在numpy数组中用随机替换缺失值

转载 作者:行者123 更新时间:2023-11-28 21:16:00 24 4
gpt4 key购买 nike

我有一个带有二进制数据的 2D numpy 数组,即 0 和 1(未观察到或观察到)。在某些情况下,该信息丢失 (NaN)。由于缺失值在数据集中是随机的,我认为替换它们的最佳方法是使用随机 0 和 1。

下面是一些示例代码:

import numpy as np
row, col = 10, 5
matrix = np.random.randint(2, size=(row,col))
matrix = matrix.astype(float)
matrix[1,2] = np.nan
matrix[5,3] = np.nan
matrix[8,0] = np.nan
matrix[np.isnan(matrix)] = np.random.randint(2)

问题是所有 NaN 都被替换为相同的值,0 或 1,而我两个都想要。是否有比例如 for 循环分别调用每个 NaN 更简单的解决方案?我正在处理的数据集比这个例子大得多。

最佳答案

尝试

nan_mask = np.isnan(matrix)
matrix[nan_mask] = np.random.randint(0, 2, size=np.count_nonzero(nan_mask))

关于python - 在numpy数组中用随机替换缺失值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29365194/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com