Вам необходимо указать имя столбца:
>>> import pandas as pd
>>> import numpy as np
>>> np.random.seed(123)
>>> idx = pd.date_range('2018-10-05', periods=7, freq='D')
>>> df = pd.DataFrame({'data': np.random.randn(idx.size),
... '50+': np.random.choice([0, 1], size=idx.size).astype(bool)},
... index=idx)
>>> df
data 50+
2018-10-05 -1.085631 True
2018-10-06 0.997345 True
2018-10-07 0.282978 False
2018-10-08 -1.506295 False
2018-10-09 -0.578600 False
2018-10-10 1.651437 True
2018-10-11 -2.426679 False
>>> df.sort_values('50+')
data 50+
2018-10-07 0.282978 False
2018-10-08 -1.506295 False
2018-10-09 -0.578600 False
2018-10-11 -2.426679 False
2018-10-05 -1.085631 True
2018-10-06 0.997345 True
2018-10-10 1.651437 True
>>> df.sort_values('50+', ascending=False)
data 50+
2018-10-05 -1.085631 True
2018-10-06 0.997345 True
2018-10-10 1.651437 True
2018-10-07 0.282978 False
2018-10-08 -1.506295 False
2018-10-09 -0.578600 False
2018-10-11 -2.426679 False
Если вы не уверены, вы всегда можете проверить строку документации .
По умолчанию ascending=True
, который поставит False
с на первое место, потому что они просто 0 под капотом.(Хотя True
равно 1.)
Если вы хотите отфильтровать строки, в которых этот столбец имеет значение True, вы можете использовать:
>>> df[df['50+']]
data 50+
2018-10-05 -1.085631 True
2018-10-06 0.997345 True
2018-10-10 1.651437 True