擅长:python、mysql、java
<p>我认为需要按<code>sum</code>的除法来计算分数,然后按<a href="http://pandas.pydata.org/pandas-docs/stable/indexing.html#boolean-indexing" rel="nofollow noreferrer">^{<cd2>}</a>过滤,最后一个<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.sort_values.html" rel="nofollow noreferrer">^{<cd3>}</a>来获得更好的过滤行性能:</p>
<pre><code>a = 0.9
df = df[df['score'].div(df['score'].sum()) >= 1 - a].sort_values('score', ascending=False)
</code></pre>
<p>或者:</p>
^{pr2}$
<hr/>
<pre><code>print (df)
city score
0 bangkok 60
1 kl 20
2 sydney 10
</code></pre>
<p><strong>细节</strong>:</p>
<pre><code>print (df['score'].div(df['score'].sum()))
0 0.60
1 0.20
2 0.10
3 0.05
4 0.05
Name: score, dtype: float64
</code></pre>