擅长:python、mysql、java
<p>使用有序的<code>categorical</code>,但首先将列表的值转换为整数:</p>
<pre><code>inputlist = [309.0, 585.0, 221.0, 789.0, 195.0, 354.0, 307.0, 698.0, 426.0]
df['val'] = pd.Categorical(df['val'], ordered=True, categories=[int(x) for x in inputlist])
df = df.sort_values('val')
print (df)
val kaywords
3 309 keyword9
6 585 keyword2
1 221 keyword5
8 789 keyword33
0 195 keyword3
4 354 keyword0
2 307 keyword8
7 698 keyword4
5 426 keyword1
</code></pre>
<p>如果<code>val</code>中的所有值都存在于<code>inputlist</code>中,另一个想法是:</p>
<pre><code>inputlist = [int(x) for x in inputlist]
df = df.set_index('val').reindex(inputlist).reset_index()
</code></pre>