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のメソッドの使い方をまとめていますので、宜しければご活用ください。
この記事が皆さんのお役に立てることを心より願っています。