Je veux trier les lignes de ce fichier de données en fonction de la première valeur du tableau dans la colonne "cases" 0,8299769, 0.04913859 dans l'ordre décroissant. Comment puis-je le faire?
classes boxes scores 0 7 [0.8299769, 0.27715018, 0.91143125, 0.54477763] 0.999721 2 7 [0.04913859, 0.35264254, 0.15933079, 0.64380944] 0.999397
3 Réponses :
Essayez ceci, créez la colonne PSEDEO Trier code> Soyez basé sur IT & Drop classes boxes scores
1 2 [0.8299769, 0.27715018, 0.91143125, 0.54477763] 0.999397
0 7 [0.04913859, 0.35264254, 0.15933079, 0.64380944] 0.999721
J'ai essayé cela mais j'ai eu cette erreur "IndexError: Index invalide à la variable scalaire".
Quel est le dtype de la colonne?
Son pandas.core.Series.Series Type
Impossible de reproduire le problème, que contiennent les boîtes de colonne? Vous pouvez également inclure le code d'échantillon pour créer le fichier de données.
Vous pouvez utiliser la classe Pandas Sort_Values, comme ceci:
df.sort_values(by='boxes', ascending=False, inplace=True)
Je m'excuse, j'ai oublié d'ajouter le véritable argument en ce qui change le Dataframe d'origine, je modifierai la réponse
Merci mais je reçois cette erreur. "La valeur de vérité d'un tableau avec plus d'un élément est ambigu. Utilisez A.ANY () ou A.Al ()" Même pour ça
Cela a fonctionné pour moi lorsque je l'ai essayé sur le même Dataframe, avez-vous défini les variables dans la colonne "cases" comme des tableaux NUMPY ou des listes Python?
Vous pouvez prendre la première valeur de la colonne que vous souhaitez et créer une nouvelle colonne et trier cette colonne, puis supprimez-le
df['new_col'] = df.boxes.apply(lambda x: x[0])
df=df.sort_values('new_col')
df=df.drop(['new_col'],axis=1)
boxes
1 [0.04913859, 0.35264254, 0.15933079, 0.64380944]
0 [0.8299769, 0.27715018, 0.91143125, 0.54477763]