擅长:python、mysql、java
<p><code>np.resize</code>与<code>-1</code>的行为没有文档记录。但可以从Python代码或以下示例中推断:</p>
<pre><code>In [312]: np.resize(np.arange(12),(1,-1))
Out[312]: array([[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]])
In [313]: np.resize(np.arange(12),(2,-1))
Out[313]:
array([[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9]])
In [314]: np.resize(np.arange(12),(3,-1))
Out[314]:
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
In [315]: np.resize(np.arange(12),(4,-1))
Out[315]:
array([[0, 1],
[2, 3],
[4, 5],
[6, 7]])
# (5,-1) error
In [317]: np.resize(np.arange(12),(6,-1))
Out[317]:
array([[0],
[1],
[2],
[3],
[4],
[5]])
</code></pre>
<p>所以一般来说</p>
<pre><code>a = np.arange(n)
np.resize(a, (m,-1))
np.reshape(a[:(n-m)], (m,-1))
</code></pre>
<p>也就是说,它通过<code>m</code>元素剪辑输入,并尝试<code>reshape</code>。不是很有用吧?你知道吗</p>
<p>在你的情况下<code>test[:-4].reshape(4,-1)</code>。你知道吗</p>