Ich habe die folgende Untermenge von Daten und muss die Spalte Education
in aufsteigender Reihenfolge sortieren. von 0 to 17
.
Ich habe den folgenden Code ohne Erfolg ausprobiert.
suicide_data.sort_index(axis=0, kind='mergesort')
ebenfalls...
suicide_data.Education.sort_values()
und...
suicide_data.sort_values('Education')
Hier ist der Fehler, den ich bekomme ...
TypeError: '>' not supported between instances of 'float' and 'str'
Die Dokumentation besagt, dass str
mit der sort_values()
-Methode sortiert werden kann. Weiß jemand, wie die Spalte Education
in aufsteigender Reihenfolge sortiert wird?
Es scheint, dass Sie gemischte Typen in der Spalte Education
Ihres DataFrame haben müssen. Die Fehlermeldung weist Sie darauf hin, dass Sie die Zeichenfolgen to der Floats in Ihrer Spalte nicht vergleichen können. Angenommen, Sie möchten die Werte numerisch sortieren, können Sie sie in einen Ganzzahlentyp konvertieren und dann sort. Ich würde Ihnen trotzdem raten, gemischte Typen sind für alle Vorgänge in Ihrem DataFrame nicht zu nützlich. Verwenden Sie dann DataFrame.sort_values
.
suicide_data['Education'] = suicide_data['Education'].astype('int')
suicide_data.sort_values(by='Education')
Es ist auch darauf hinzuweisen, dass Ihr erster Versuch,
suicide_data.sort_index(axis=0, kind='mergesort')
würde Ihren DataFrame nach dem Index, den Sie nicht möchten, und dem zweiten Versuch sortieren
suicide_data.Education.sort_values()
würde nur die sortierte Serie zurückgeben - sie sind völlig ungültige Ansätze.
suicide_data['Education'].sort_values('Education', ascending = 'True')