PandasにおけるDataFrameのインデックスを並び替える

PandasにおけるDataFrameのインデックスを並び替えてみます。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■DataFrameを作成する

DataFrameのインデックスを並び替える前に、DataFrameを作成します。

■コード

import pandas as pd 

data = {'Name':['Banana','Apple','Grape','Peach','Lemon','Strawberry'],
        'Number':[10,20,30,40,50,60]
}

df = pd.DataFrame(data, columns = ['Name','Number'])

print(df)

インポートでPandasモジュールを呼び出します。dataという変数を作成し、その中に「Name」と「Number」という列を作り、格納します。

格納後、dfという変数を作成し、pd.DataFrame()と記述し、格納したDataを元にDataFrameを作成。作成後、dfという変数に格納します。

■実行

このスクリプトを実行すると、作成したDataFrameが出力されます。

■インデックスを降順で並び替える

DataFrameの用意ができましたので、まずインデックスを降順で並び替えるスクリプトを書いていきます。

■コード

import pandas as pd 

data = {'Name':['Banana','Apple','Grape','Peach','Lemon','Strawberry'],
        'Number':[10,20,30,40,50,60]
}

df = pd.DataFrame(data, columns = ['Name','Number'])

df = df.sort_index(ascending=False)

print(df)

インデックスを降順で並び替えるためには、dfという変数を作成し、pd.DataFrame()と記述し、格納したdataを元にDataFrameを作成。

作成した後にdfという変数の中に、df.sort_index()と記述します。括弧内には「ascending=False」と記述します。これで降順(値が大きい順)に並び替えすることができます。

記述後、print関数で並び替えたものを出力します。

■実行

このスクリプトを「df_sort_test_2.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、インデックスが降順で並び替えられて出力されることを確認できました。

■インデックスを昇順で並べ替える

では、次にインデックスを昇順で並べ替えてみます。

■コード

import pandas as pd 

data = {'Name':['Banana','Apple','Grape','Peach','Lemon','Strawberry'],
        'Number':[10,20,30,40,50,60]
}

df = pd.DataFrame(data, columns = ['Name','Number'],index=['D','E','A','C','B','F'])

df = df.sort_index()

print(df)

インデックスを昇順で並べ替えるためには、dfという変数を作成し、pd.DataFrame()と記述し、dataを元にDataFrameを作成します。この時に、今回はpd.DataFrame()の括弧内に「index」と記述し、「A,B,C,D,E,F」のアルファベットをバラバラにインデックスに割り振ります。

割り振りDataFrameを作成した後に、dfという変数の中に、「df.sort_index()」と記述します。これでインデックスを昇順に並び替えることができます。

並び替えたものを、print関数で出力します。

■実行

このスクリプトを「df_sort_test_3.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、インデックスに「A,B,C,D,E,F」のアルファベットをバラバラに割り振っていたのですが、インデックスが昇順に並び替えられていることが確認できました。

コメント

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