Voici la base de données des voitures :
df = pd.DataFrame({ 'car' : ['brand1_2020', 'brand2', 'brand3', 'brand1_2018', 'brand4'],
'score' : [5.2, 4.9, 5.0, 5.1, 4.1]})
Je dois sélectionner les 3 premières voitures dont la marque est unique (par exemple, il y a deux colonnes pour la marque 1 : marque 1_2020 et marque 1_2018). Je dois sélectionner une seule voiture de la marque 1 avec le score le plus élevé).
cars_filtered = df.iloc[np.argsort(np.abs(df['score']))[-3:]].car.tolist()
Cela produit : ['brand3', 'brand1_2018', 'brand1_2020'] mais nous devons obtenir ['brand2', 'brand3', 'brand1_2020'] .
Comment faire ? :) Merci beaucoup !