0
votes

Trier les pandas Dataframe avec une colonne avec la liste

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


0 commentaires

3 Réponses :


1
votes

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


4 commentaires

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.



0
votes

Vous pouvez utiliser la classe Pandas Sort_Values, comme ceci:

df.sort_values(by='boxes', ascending=False, inplace=True)


3 commentaires

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?



1
votes

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]


0 commentaires