看起来 Pandas 排序不再起作用:
import pandas as pd
from numpy import random
sample = random.uniform(low=0.0, high=1.0, size=(100,))
ranking = pd.DataFrame(sample, columns=['random']).sort_values(by='random', ascending='False')
print(ranking.head())
random
18 0.024665
71 0.028709
51 0.037635
48 0.038073
57 0.072323
Run Code Online (Sandbox Code Playgroud)
相反,我期望相反的顺序,因为ascending=False.
我正在使用 pandas 0.25.0。
问题是 if'False'不是布尔值,而是字符串,它的评估方式如下True,因此删除'':
print(bool('False'))
True
ranking = pd.DataFrame(sample, columns=['random']).sort_values(by='random', ascending=False)
print(ranking.head())
random
44 0.997583
18 0.982477
19 0.979080
16 0.968516
15 0.962161
Run Code Online (Sandbox Code Playgroud)