擅长:python、mysql、java
<p>你所追求的根本是不可能的。您不能同时从每一行中删除数量可变的条目,同时保证每一行具有相同数量的条目(这是获取类型<code>[[...]]</code>的<code>ndarray</code>所必需的)。<a href="https://stackoverflow.com/a/62373817/9248793">hlzl's answer</a>对此进行了更详细的解释</p>
<p>以下函数将从每行的左侧和右侧删除<code>0</code>-项,但返回的类型为<code>[array([...]), array([...])]</code>:</p>
<pre class="lang-py prettyprint-override"><code>def trim_zeros_in_rows(ndarr):
return np.array([np.trim_zeros(row) for row in ndarr])
print(trim_zeros_in_rows(np.array([[0., 0., 1., 0.],
[2., 3., 4., 0.]])))
</code></pre>
<p>印刷品:</p>
<pre class="lang-py prettyprint-override"><code>[array([1.]) array([2., 3., 4.])]
</code></pre>