擅长:python、mysql、java
<p>我的解决方案在展平的数组上迭代,并检查每种类型是否可以是float。如果没有,我将填写一个<code>np.NaN</code>。在此之后,我将使用dtype float将numpy数组重新创建为旧形状:</p>
<pre><code>import numpy as np
x = np.array([[1, 2, 'tom'], [4, 'Manu', 6]])
shape = x.shape
x_nan = np.empty_like(x).flatten()
for i,x in enumerate(x.flat):
try:
x_nan[i] = float(x)
except:
x_nan[i] = np.NaN
x_nan = np.array(x_nan, dtype=np.float).reshape(shape)
print(x_nan)
# array([[ 1., 2., nan],
# [ 4., nan, 6.]])
</code></pre>