web-dev-qa-db-ja.com

pandasのsort_values()メソッド

次のデータのサブセットがあり、Education列を昇順で並べ替える必要があります。 _0 to 17_から。

enter image description here

次のコードを試してみましたが成功しませんでした。

_suicide_data.sort_index(axis=0, kind='mergesort')
_

また...

_suicide_data.Education.sort_values()
_

そして...

_suicide_data.sort_values('Education')
_

ここに私が得ているエラーがあります...

_TypeError: '>' not supported between instances of 'float' and 'str'
_

ドキュメントには、strsort_values()メソッドでソートできると書かれています。 Education列を昇順で並べ替える方法を知っている人はいますか?

5
Gilbert

DataFrameのEducation列内に混合型が必要なようです。エラーメッセージは、列内の文字列を比較できないことを示しています。値を数値でソートする場合、整数型に変換してthenソートできます。混合型はDataFrameでの操作にはあまり有用ではないため、とにかくこれを行うことをお勧めします。次に DataFrame.sort_values

suicide_data['Education'] = suicide_data['Education'].astype('int')
suicide_data.sort_values(by='Education')

また、最初の試みとして、

suicide_data.sort_index(axis=0, kind='mergesort')

希望しないインデックスと2回目の試行でDataFrameをソートします

suicide_data.Education.sort_values()

ソートされたシリーズのみを返します-それらは完全に無効なアプローチです。

17
miradulo
suicide_data['Education'].sort_values('Education', ascending = 'True')
2