Какой самый быстрый способ сортировки кадра данных city_sales_rep по индексу 'city', имейте в виду, что на месте есть мультииндекс. Порядок индекса должен точно соответствовать порядку, в котором индекс упорядочен во втором кадре данных город .
Если есть простой и быстрый способ выполнить эту сортировку за один раз?
A = pd.DataFrame(np.random.randint(2,10,(10,3)))
A.columns = ['city','sales_rep','sales']
city_sales_rep = A.groupby(['city','sales_rep']).sum()
city = A.groupby(['city'])['sales'].sum().sort_values()
Что приводит в моем примере к city_sales_rep :
sales
city sales_rep
2 9 5
4 5 2
7 5
9 2
5 4 4
6 8 6
9 9
7 2 2
3 8
6 4
А Город
sales
city
5 4
2 5
4 9
7 14
6 15
Хотя это, кажется, делает то, что я хочу, оно кажется ужасно неэффективным:
city.join(city_sales_rep.reset_index(level=1),lsuffix='_x')[['sales_rep','sales']].reset_index().set_index(['city','sales_rep'])
P.S .: Изменения в названии приветствуются, я чувствую, что это несколько неуклюже.