J'ai le sous-ensemble de données suivant et je dois trier la colonne Education
par ordre croissant; à partir de 0 to 17
.
J'ai essayé le code suivant sans succès.
suicide_data.sort_index(axis=0, kind='mergesort')
également...
suicide_data.Education.sort_values()
et...
suicide_data.sort_values('Education')
Voici l'erreur que je reçois ...
TypeError: '>' not supported between instances of 'float' and 'str'
La documentation indique que str
peut être trié avec la méthode sort_values()
. Quelqu'un sait-il comment trier la colonne Education
par ordre croissant?
Il semble que vous ayez des types mélangés dans la colonne Education
de votre DataFrame. Le message d'erreur vous indique qu'il ne peut pas comparer les chaînes à les flottants de votre colonne. En supposant que vous souhaitiez trier les valeurs numériquement, vous pouvez les convertir en type entier et trier puis. De toute façon, je vous conseillerais de le faire, car les types mixtes ne seront pas très utiles pour les opérations dans votre DataFrame. Ensuite, utilisez DataFrame.sort_values
.
suicide_data['Education'] = suicide_data['Education'].astype('int')
suicide_data.sort_values(by='Education')
Il convient également de souligner que votre première tentative,
suicide_data.sort_index(axis=0, kind='mergesort')
trier votre DataFrame par l’index que vous ne voulez pas et votre deuxième tentative
suicide_data.Education.sort_values()
renverrait uniquement la série triée - ce sont des approches totalement non valides.
suicide_data['Education'].sort_values('Education', ascending = 'True')