2017-02-27 7 views
1

私は以下のデータのサブセットを持っており、昇順でEducationカラムをソートする必要があります。 0 to 17から。パンダのsort_values()メソッド

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' 

ドキュメントは言いますそのstrは012と並べ替えることができます方法。 Education列を昇順に並べ替える方法を知っている人はいますか?

+0

「教育」列でDataFrame全体をソートするか、ソートする列を再割り当てしたいだけですか(それは賢明ではないようです)。 – miradulo

+0

Education列でデータフレーム全体を昇順にソートしたい – Gilbert

答えて

7

DataFrameのEducation列に混在型があるように見えます。エラーメッセージは、文字列を列内の浮動小数点数と比較できないことを示しています。値を数値でソートしたいと仮定して、それらを整数型に変換して、次にソートに変換できます。混合型は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番目の試みで、あなたのデータフレームを並べ替えるだろうと指摘する価値ある

suicide_data.Education.sort_values() 

は、ソートされた系列のみを返します。完全に無効なアプローチです。

関連する問題