Предположим, у меня есть DataFrame:
import pandas as pd
dict1 = {'Name':['John', 'Sean', 'Philip', 'John', 'Sean', 'Philip'],
'c_1':['a','b','c','d','f','g'],
'c_2':[1,2,3,4,2,3],
'c_3':[2,3,4,2,1,1]}
df = pd.DataFrame(dict1)
И вывод:
Name c_1 c_2 c_3
0 John a 1 2
1 Sean b 2 3
2 Philip c 3 4
3 John d 4 2
4 Sean f 2 1
5 Philip g 3 1
Требуемый вывод:
Name c_1 c_2 c_3
0 John a 1 2
1 Sean f 2 1
2 Philip g 3 1
Мне нужно найти строку с минимальные значения c_1 и c_2 для каждого имени.
c_1 имеет высокий приоритет (это означает, что (c_1 = 1) & (c_2 = 2) важнее (и требуется), чем (c_1 = 2) & (c_2 = 1) ).
Я пытался использовать циклы, но это было безуспешно, потому что у меня огромный DF, и мой P C делал бы это долгое время.
Как я могу сделать это самым простым способом? ?
Большое спасибо за ответ!