擅长:python、mysql、java
<p>让我们做一些测试数据:</p>
<pre><code>saga = pd.Series([0.1, 0.2, 0.3, 0.4, 0.5, 0.9])
</code></pre>
<p>接下来,认识到<code>Dict</code>是一个<code>dict</code>并且没有顺序,所以让我们按照数字的相反顺序来排序:</p>
<pre><code>thresh = sorted(Dict.items(), key=lambda t: t[1], reverse=True)
</code></pre>
<p>最后,解决问题的方法不是在<code>saga</code>上循环,而是在<code>thresh</code>上循环,因为Python/Pandas中的循环(和<code>apply()</code>)很慢,我们假设<code>saga</code>比<code>thresh</code>长得多:</p>
<pre><code>result = pd.Series('F', saga.index) # all F's to start
for name, value in thresh:
result[saga < value] = name
</code></pre>
<p>现在<code>result</code>是一系列值a,B,C,D,E,F,我们按相反的顺序循环,因为例如0比所有的值都小,应该标记为a,而不是E</p>