インデックスに基づいてPandasにおけるDataFrameをフィルタリングする

スポンサーリンク

インデックスに基づいてPandasにおけるDataFrameをフィルタリングしてみます。

■Python

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

■DataFrameを作成する

インデックスに基づいてPandasにおけるDataFrameをフィルタリングする前に、DataFrameを作成します。

■コード

import pandas as pd

data = {
    'Color': ['Black','Yellow','Green','White','gold','Blue','Silver'],
    'Number': [10,20,30,40,50,60,70]
}

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

print(df)

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

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

■実行

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

■インデックスに基づいてPandasにおけるDataFrameをフィルタリングする

DataFrameの用意ができましたので、インデックスに基づいてPandasにおけるDataFrameをフィルタリングするスクリプトを書いていきます。

■コード

import pandas as pd

data = {
    'Color': ['Black','Yellow','Green','White','gold','Blue','Silver'],
    'Number': [10,20,30,40,50,60,70]
}

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

df = df.filter(like = '3', axis= 0)

print(df)

インデックスに基づいてPandasにおけるDataFrameをフィルタリングする場合は、dfという変数を作成し、pd.DataFrame()と記述し、DataFrameを作成。作成後、dfという変数に格納します。

その後にdfという変数の中にdf.filter()と記述します。括弧内には「like =’3’」と記述し、インデックスを割り当てる際のデフォルトの数値を指定します。今回は3を指定しています。なお、「axis= 0」と記述することで、列に沿った処理(フィルタリング)を行うことができます。

最後にフィルタリングの結果をprint関数で出力します。

■実行

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

実行してみると、インデックスを割り当てる際のデフォルトの数値を指定し、フィルタリングすることができました。

■数値以外のインデックスをフィルタリングする

では、次に数値以外のインデックスをフィルタリングしてみます。

■コード

import pandas as pd

data = {
    'Color': ['Black','Yellow','Green','White','gold','Blue','Silver'],
    'Number': [10,20,30,40,50,60,70]
}

df = pd.DataFrame(data, columns = ['Color','Number'], index=['Item_A','Item_B','Item_C','Item_D','Ttem_E','Ttem_F','Ttem_G'])

df = df.filter(like = 'Ttem_G', axis=0)

print(df)

数値以外のインデックスをフィルタリングする際は、先ほど同様にDataFrameを作成。作成後、dfという変数に格納。その後dfという変数の中にdf.filter()と記述し、DataFrameを作成する時に設定したindexを指定します。今回は「Item_G」と指定しています。

■実行

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

実行してみると、指定したインデックスが出力され、数値以外のインデックスでもフィルタリングを行うことが可能であることが確認できました。

 

コメント

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