回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一个介于0和3之间的数字数组,我想创建一个二进制数字的2D数组</p>
<p>在将来,我可能需要一个介于0到7或0到15之间的数字数组</p>
<p>当前我的数组定义如下:</p>
<pre><code>a = np.array([[0], [1], [2], [3]], dtype=np.uint8)
</code></pre>
<p>我使用了numpy<code>unpackbits</code>函数:</p>
<pre><code>b = np.unpackbits(a, axis=1)
</code></pre>
<p>结果是:</p>
<pre><code>array([[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 1],
[0, 0, 0, 0, 0, 0, 1, 0],
[0, 0, 0, 0, 0, 0, 1, 1]], dtype=uint8)
</code></pre>
<p>正如您所见,它创建了一个二维数组,其中列中有8个项目,而我正在查找2列二维数组</p>
<p>这是我想要的数组:</p>
<pre><code>array([[0, 0],
[0, 1],
[1, 0],
[1, 1]])
</code></pre>
<p>这与数据类型<code>uint8</code>有关吗</p>
<p>你的想法是什么</p>