擅长:python、mysql、java
<p>您可以使用NumPy的<a href="https://docs.scipy.org/doc/numpy/reference/generated/numpy.unique.html" rel="nofollow noreferrer">^{<cd1>}</a>函数在<code>X</code>中查找唯一的值,<a href="https://docs.scipy.org/doc/numpy/reference/generated/numpy.equal.html" rel="nofollow noreferrer">^{<cd3>}</a>将<code>X</code>元素与这些值进行比较,<a href="https://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.astype.html" rel="nofollow noreferrer">^{<cd5>}</a>方法将结果转换为整数:</p>
<pre class="lang-py prettyprint-override"><code>In [76]: import numpy as np
In [77]: X = np.array([[1.4E14, 1.4E14, 1.6E14],
...: [1.4E14, 1.6E14, 1.6E14],
...: [1.6E14, 1.1E14, 1.1E14]])
...:
In [78]: for value in np.unique(X):
...: binary_array = np.equal(X, value).astype(int)
...: print(f'{value:.1E}\n{binary_array}\n')
...:
...:
1.1E+14
[[0 0 0]
[0 0 0]
[0 1 1]]
1.4E+14
[[1 1 0]
[1 0 0]
[0 0 0]]
1.6E+14
[[0 0 1]
[0 1 1]
[1 0 0]]
</code></pre>
<p>在上面的代码中<code>binary_array = np.int_(X == value)</code>也可以工作。你知道吗</p>