на основе python, sort descending dataframe with pandas:Сортировать панды DataFrame с функцией по колонке значений
Дано:
from pandas import DataFrame
import pandas as pd
d = {'one':[2,3,1,4,5],
'two':[5,4,3,2,1],
'letter':['a','a','b','b','c']}
df = DataFrame(d)
ДФ будет выглядеть следующим образом:
df:
letter one two
0 a 2 5
1 a 3 4
2 b 1 3
3 b 4 2
4 c 5 1
Я хотел бы иметь что-то вроде:
f = lambda x,y: x**2 + y**2
test = df.sort(f('one', 'two'))
Это должно заказать полный dataframe по отношению к сумме квадратов значений столбца «один» и «два» и дать мне:
test:
letter one two
2 b 1 3
3 b 4 2
1 a 3 4
4 c 5 1
0 a 2 5
по возрастанию или убыванию, не имеет значения. Есть ли хороший и простой способ сделать это? Я еще не нашел решения.
Спасибо, это, похоже, способ сделать это, как я уже выяснил в то же время :-) Но спасибо, ваше решение очень компактно и элегантно. – Ohumeronen
Гораздо более компактный, чем мой ответ +1. –
@ Адам Уорнер: Ничего. Спасибо за вашу помощь в любом случае ;-) – Ohumeronen