У меня есть проблемы, связанные с сортировкой данных в группах.У меня есть данные о средней заработной плате по девяти различным профессиям, сгруппированным по SEX и стране («GEO»).Я хотел бы иметь таблицу данных, в которой профессии назначены для каждой страны и SEX после средней заработной платы.Так что у меня для каждой страны и SEX 9 профессий упорядочены по стоимости.Вот что у меня есть:
df
wage Country SEX OCCUPATION
0 6 BELGIUM M Elementary
1 4 BELGIUM M POLICE
2 6 BELGIUM M MANAGERS
3 8 BELGIUM M PROFESSIONALS
2 6 BELGIUM F PROFESSOIONALS
3 8 BELGIUM F MANAGERS
4 7 BELGIUM F POLICE
5 5 FRANCE M POLICE
6 3 FRANCE M PROFESSIONALS
7 2 FRANCE M MANAGERS
Но мне хотелось бы иметь это:
wage Country SEX OCCUPATION
1 4 BELGIUM M POLICE
0 6 BELGIUM M Elementary
2 6 BELGIUM M MANAGERS
3 8 BELGIUM M PROFESSIONALS
2 6 BELGIUM F PROFESSOIONALS
4 7 BELGIUM F POLICE
3 8 BELGIUM F MANAGERS
7 2 FRANCE M MANAGERS
6 3 FRANCE M PROFESSIONALS
5 5 FRANCE M POLICE
В конце концов, если возможно, я бы хотел присвоить число от 1: номер занятияв порядке заработной платы.Для иллюстрации:
wage Country SEX OCCUPATION ORDER
1 4 BELGIUM M POLICE 1
0 6 BELGIUM M Elementary 2
2 6 BELGIUM M MANAGERS 3
3 8 BELGIUM M PROFESSIONALS 4
2 6 BELGIUM F PROFESSOIONALS 1
4 7 BELGIUM F POLICE 2
3 8 BELGIUM F MANAGERS 3
7 2 FRANCE M MANAGERS 1
6 3 FRANCE M PROFESSIONALS 2
5 5 FRANCE M POLICE 3
Этот вопрос относится к: группам панд по группам .Я прочитал это, и это не сработало: то, что я пытался достичь желаемого значения df:
df=df.sort_values(["Country","SEX","wage"],ascending=False).groupby(["Country","SEX"])
К сожалению, python возвращает это вместо фрейма данных:
<pandas.core.groupby.groupby.DataFrameGroupBy object at 0x0000022CC92DC668>
"GEO","SEX","occ", are all objects
obs_value is a float.
the df is a dataframe
Я был бы признателенесли кто-то может помочь мне