我有两个 numpy 数组,例如
import numpy as np
a=np.array([[ 3, nan, 4, 1, 4, 2, 2, 3],
[ 2, nan, 1, 3, nan, 4, 4, 3],
[ 3, 2, nan, 4, nan, nan, 3, 4],
[ 2, 2, 2, nan, 1, 1 ,nan, 2]])
b =np.array( [[ 2, 3, 2, 2, 3, 3, 3, 3],
[ 3, 3, 1, 4, 1, 4, 1, 7],
[ 4, 2, 5, 4, 4, 3, 10, 4],
[ 2, 4, 2, 1, 4, 1, 3, nan]])
Run Code Online (Sandbox Code Playgroud)
要求 :
nan数组中的元素值a被分配到数组的b相同位置。
预期输出:
[[2, nan, 2, 2, 3, 3, 3, 3],
[3, nan, 1, 4, nan, 4, 1, 7],
[4, 2, nan, 4, nan, nan, 10, 4],
[2, 4, 2, 1, nan, 1, nan, nan]]
Run Code Online (Sandbox Code Playgroud)
这个怎么样:
b[np.isnan(a)] = float('nan')
Run Code Online (Sandbox Code Playgroud)
如果您想要副本b而不是就地更改它,请使用以下命令:
c = np.where(np.isnan(a), a, b)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
246 次 |
| 最近记录: |