Предположим, что мои данные:
my_list=[[0,'A',10,12,14],
[0,'A',10,13,15],
[0,'A',8,12,13],
[0,'A',9,13,17],
[0,'A',8,11,15],
[0,'B',9,5,7],
[0,'B',11,5,9],
[0,'B',8,7,8],
[1,'A',11,14,9],
[0,'B',8,10,14],
[1,'B',11,6,6],
[1,'A',10,5,9]
[1,'B',9,6,6]]
my_frame=pd.DataFrame(my_list, columns=['id','quality','grade','characteristic 1','characteristic 2'])
Моя цель - сгруппировать мои данные по 'id' и 'качеству', используя оценку в качестве максимального и минимального значения интереса.Поэтому я кодирую:
my_group=np.array(my_frame.groupby(['id','quality'])['grade']
.agg(["max grade", max],["min grade", min])
.reset_index())
Пока все хорошо, но я не понял, как обращаться с тем, что мне действительно нужно в качестве информации:
Я хотел бы сгруппировать и получить все случаиэта оценка максимальная и минимальная происходит со всей информацией строки.Другими словами, код, который в настоящее время работает для меня, дает мне следующее:
print(my_group)
Вывод:
[[0,'A',10,8],
[0,'B',11,8],
[1,'A',11,10],
[1,'B',11,9]]
Тем не менее, меня интересует вывод такого вида:
[[0,'A',10,12,14],
[0,'A',10,13,15],
[0,'A',8,12,13],
[0,'A',8,11,15],
[0,'B',11,5,9],
[0,'B',8,7,8],
[0,'B',8,10,14],
[1,'A',11,14,9],
[1,'A',10,5,9],
[1,'B',11,6,6],
[1,'B',9,6,6]]
Чтобы сделать это как можно более понятным, группа принесет мне максимальную и минимальную оценку за «id» и за «качество», но мне действительно нужно знать остальную частьинформация («характеристика 1» и «характеристика 2») о том, что я получаю этот максимальный и минимальный «баллы», независимо от того, сколько раз появляются максимальные «минимальные» и минимальные «оценки».
Не могли бы вы мне помочьсквозь это?Надеюсь, мой вопрос ясен.