Я хочу отсортировать df, но я хочу исключить первые 2 столбца из сортировки.
Я могу успешно отсортировать, исключая первый 1 столбец, но я хочу обновить приведенный ниже код, чтобы исключить первые 2 столбца.
from pandas import DataFrame
Cars = {'Dimensions': [0.48,0.44,0.4,0.6],
'Price': [0.3,0.25,0.74,0.5],
'Year': [0.41,0.38,0.64,0.65],
'Range': [0.95,0.98,0.24,0.42],
'Height': [0.75,0.88,0.84,0.95],
}
df = DataFrame(Cars, columns= ['Dimensions', 'Price','Year', 'Range', 'Height'],
index=['Honda Civic','Toyota Corolla','Ford Focus','Audi A4'])
s = df.iloc[0]
df = df.iloc[:, ((-s[1:]).argsort() + 1).reindex(df.columns, fill_value=0)]
Я думал, что это будет работать, но это не
s = df.iloc[0:1]
df = df.iloc[:, ((-s[1:]).argsort() + 1).reindex(df.columns, fill_value=0)]
ошибка:
AttributeError: 'DataFrame' object has no attribute 'argsort'
Ожидаемый вывод:
Dimensions Price Range Height Year
Honda Civic 0.48 0.30 0.95 0.75 0.41
Toyota Corolla 0.44 0.25 0.98 0.88 0.38
Ford Focus 0.40 0.74 0.24 0.84 0.64
Audi A4 0.60 0.50 0.42 0.95 0.65