Например,
df = pandas.DataFrame({'name':['a','b','c'], 'age':[10,20,30]}) name age 0 a 10 1 b 20 2 c 30 df[df['age'] > 10] name age 1 b 20 2 c 30
Мой вопрос: Pandas следит за тем, чтобы порядок индексов сохранялся? Возможен ли такой результат, как:
name age 2 c 30 1 b 20
Спасибо
Сохраняет порядок данных, не сортирует данные автоматически по любому атрибуту.
Здесь вы можете видеть, что:
df = pd.DataFrame({'name':['a','b','c'], 'age':[30,20,10]}, index=[1,0,2]) df[df['age']>10] # age name #1 30 a #0 20 b
Да, фильтрация сохраняет порядок строк (также значений индекса).
Необходимо отсортировать по столбцу age, если необходимо изменить порядок:
age
df1 = df[df['age'] > 10].sort_values('age', ascending=False) print (df1) name age 2 c 30 1 b 20