【Python図解】Pandas DataFrameでソートの仕方(sort_values( )メソッド)を解説!

Pythonを使っていてこんな悩みはありませんか?

「Pandas DataFrameでデータをソートしたい、、しかしやり方がわからない。」

そのお悩み解決します。

結論をお話しするとPandasのsort_values( )メソッドを使用することで簡単にできます。
この記事では、sort_valuies( )メソッドを使って、データをソートする方法を解説していきます。

今回は、「タイタニック予測問題のデータ」を使って解説します。
「タイタニック予測問題」のtrainデータをdfとして読み込みます。dfは12個のカラムから構成され、891個のデータが格納されています。

今回は年齢(’Age’)でdfをソートしたいと思います。
早速解説します。

pandas sort_values( )メソッドの使い方

dfに対して「ソートしたい列(’Age’)」と、「昇順か降順を選択(ascending = True or False)」するだけでdfをソートできます。
まずは昇順(ascending = True)の場合を解説します。

ascending = Trueの場合

昇順、すなわち数値が低い方が上にきます。年齢が低い人から順番に表示されていることが確認できます。

df.sort_values('Age', ascending = True)

ascending = Falseの場合

降順、すなわち数値が大きい方が上にきます。年齢が高い人から順番に表示されていることが確認できます。

df.sort_values('Age', ascending = False)

基本の使い方は上記2つです。
さらに追加で、知っておくと便利な機能を2つ紹介します。

知っていると便利な機能2選

sort_values( )メソッドを使うことで、index番号が0始まりの連番ではなくなります。
「ignore_index = True」とすることでインデックス番号を0始まりの連番に振り直すことができます。
下記にコード例を示します。index番号が0始まりの連番になっていることが確認できます。

df.sort_values('Age', ascending = False, ignore_index = True)

また欠損値(NaN)がある場合、デフォルトでは末尾に並べられます。
na_position = ‘first’にすることで、NaNを先頭にすることができます。
下記にコード例を示します。’Age’列の先頭がNaNになっており、数値が降順になっていることが確認できます。

df.sort_values('Age', ascending = False, na_position = 'first')

今回の記事はここまでです。
最後まで記事を読んでいただきありがとうございます。

また下記記事にて、Pandasのメソッドの使い方をまとめていますので、宜しければご活用ください。

【Python図解】Pandasのメソッド解説記事まとめ
今回の記事では、私がpython初学者だった時に感じた悩みを解決する記事を書いています。 「Pandasのメソッドの解説記事は多いが、全体像がわからない、、」 「Pandasのメソッドは非常に多く調べるのが大変なので、情報を集約して欲しい、...

この記事が皆さんのお役に立てることを心より願っています。

タイトルとURLをコピーしました