У меня есть группа данных, как показано ниже
ID Type value_1 value_2
1 A 12 89
2 A 13 78
3 A 11 92
4 A 9 79
5 B 15 83
6 B 34 91
7 B 2 87
8 B 3 86
9 B 7 85
10 C 9 83
11 C 3 85
12 C 2 87
13 C 12 88
14 C 11 82
Я хочу получить 3 лучших члена каждого типа в соответствии с value_1
.Единственное решение, которое приходит мне в голову, заключается в том, что: во-первых, поместите каждый тип данных в фрейм данных и отсортируйте их в соответствии с value_1
и получите верхние 3;Затем объедините результат вместе.Но есть ли какой-нибудь простой способ решить это?Для удобства обсуждения у меня есть коды ниже
#coding:utf-8
import pandas as pd
_data = [
["1","A",12,89],
["2","A",13,78],
["3","A",11,92],
["4","A",9,79],
["5","B",15,83],
["6","B",34,91],
["7","B",2,87],
["8","B",3,86],
["9","B",7,85],
["10","C",9,83],
["11","C",3,85],
["12","C",2,87],
["13","C",12,88],
["14","C",11,82]
]
head= ["ID","type","value_1","value_2"]
df = pd.DataFrame(_data, columns=head)