擅长:python、mysql、java
<p>可能不是最有效的解决方案,但如果需要搜索大部分阵列,则速度会很快:</p>
<pre><code>import numpy as np
ss = np.cumsum(s) # array with cumulative sum
k = ss.searchsorted(retained_variance*s_sum) # exploit that ss is monotonically increasing
</code></pre>
<p>编辑:西蒙指出</p>
<pre><code>k = np.cumsum(s).searchsorted(retained_variance*s_sum) + 1
</code></pre>
<p>是对应于问题的值。你知道吗</p>