jam*_*s42 -2 python numpy python-3.x
我面临基本替换的问题。我有两个数组,其中一个包含数字和 NaN,另一个数组应该替换 NaN,显然是按照我的意愿排序的。举个例子:
x1 = [NaN, 2, 3, 4, 5, NaN, 7, 8, NaN, 10]and
fill = [1, 6, 9]我想通过索引替换来获得一个数组,例如:
x1_final = [1, 2, 3, 4, 5, NaN, 7, 8, NaN, 10]
我写了这行愚蠢的代码,它将所有 NaN 替换为数组的第一个元素fill:
for j in range(0,len(x1)):
if np.isnan(x1[j]).any():
for i in range(0,len(fill)):
x1[j] = fill[i]
Run Code Online (Sandbox Code Playgroud)
我怎样才能达到我的结果?
这对你有用吗?
train = np.array([2, 4, 4, 8, 32, np.NaN, 12, np.NaN])
fill = [1,3]
train[np.isnan(train)] = fill
print(train)
Run Code Online (Sandbox Code Playgroud)
输出:
[ 2. 4. 4. 8. 32. 1. 12. 3.]
Run Code Online (Sandbox Code Playgroud)