У меня есть pd.DataFrame
, что является результатом .groupby(['Product', 'Salesperson']).sum()
. Теперь я хотел бы отсортировать столбец «Продукт» в порядке «Продажи по продуктам» (не «Продажи по продуктам» и «Продавец»). Затем внутри каждой группы продуктов сортируйте по продажам каждого продавца.
Вот мой старт df
:
А вот мой желаемый ответ a1
с некоторыми примечаниями, чтобы уточнить процесс заказа:
Ниже приведены мой образец df
и мой желаемый ответ a1
с простой тест утверждения.
import pandas as pd
from pandas.util.testing import assert_frame_equal
import numpy as np
s1 = {'Product': {0: 'Soap',
1: 'Soap',
2: 'Pencil',
3: 'Paper',
4: 'Paper',
5: 'Bags',
6: 'Bags'},
'Salesperson': {0: 'Jack',
1: 'Jill',
2: 'Jill',
3: 'Jack',
4: 'Barry',
5: 'Barry',
6: 'Jack'},
'Sales': {0: 40, 1: 20, 2: 500, 3: 50, 4: 10, 5: 450, 6: 100}}
a1 = {'Product': {0: 'Bags',
1: 'Bags',
2: 'Pencil',
3: 'Paper',
4: 'Paper',
5: 'Soap',
6: 'Soap'},
'Salesperson': {0: 'Barry',
1: 'Jack',
2: 'Jill',
3: 'Jack',
4: 'Barry',
5: 'Jack',
6: 'Jill'},
'Sales': {0: 450, 1: 100, 2: 500, 3: 50, 4: 10, 5: 40, 6: 20}}
df = pd.DataFrame(s1).set_index(['Product', 'Salesperson']) # sample
a1 = pd.DataFrame(a1).set_index(['Product', 'Salesperson']) # desired answer
print(df)
print(a1)
def my_sort(df):
raise NotImplementedError
my_answer = my_sort(df)
assert_frame_equal(my_answer, a1)