Ric*_* dm 3 python arrays numpy
我有 2 个长度相同的 Numpy 数组
array([ 0.9737068 , NaN, NaN, ..., -0.64236529,
-0.88137541, -0.78318609])
array([ 0.9 , 0.7643, 0.61, ..., -0.64236529,
-0.88137541, -0.78318609])
Run Code Online (Sandbox Code Playgroud)
在第一个数组中,我有 NaN 值,如何用第二个数组中的值替换这些 NaN 值。在这个例子中,我的第三个数组是:
array([ 0.9737068 , Nan => 0.7643, NaN => 0.61 , ..., -0.64236529,
-0.88137541, -0.78318609])
Run Code Online (Sandbox Code Playgroud)
使用 Numpy,通过对两个数组应用布尔掩码来实现以下效果:
\n\nimport numpy as np\nx = np.array([0.9737068, np.nan, np.nan, -0.64236529, -0.88137541, -0.78318609])\ny = np.array([0.9, 0.7643, 0.61, -0.64236529, -0.88137541, -0.78318609])\n\nx[np.isnan(x)] = y[np.isnan(x)]\nRun Code Online (Sandbox Code Playgroud)\n\n结果是
\n\nIn[1]: x\nOut[1]: \narray([ 0.9737068 , 0.7643 , 0.61 , -0.64236529, -0.88137541,\n -0.78318609])\nRun Code Online (Sandbox Code Playgroud)\n\n注意:使用 运行%timeit,此解决方案在重复运行中需要 < 4\xc2\xb5s,而其他两个 Numpy 解决方案(在撰写本文时)都需要 20-25\xc2\xb5s
| 归档时间: |
|
| 查看次数: |
1827 次 |
| 最近记录: |