Pandasでフィルタ操作(条件によるデータの絞り込み)
Excelでいうフィルタ機能をPythonで実現していきます。 データ操作は、いつも通りPandasで行います。
コード紹介
# インポート import pandas as pd # 列の最大表示数を7に設定 pd.set_option('display.max_columns', 7) # 列の最大表示数を5に設定 pd.set_option('display.max_rows', 5) # ファイルの取り込み df = pd.read_excel("05k2-3.xlsx", skiprows=3, skipfooter=3) print('すべてのデータを表示') print(df) df_equal = df[df['人口区分'] == '総人口'] print('人口区分が「総人口」のものを表示') print(df_equal) df_contain = df[df['人口区分'].str.contains('日本')] print('人口区分に「日本」が含まれるものを表示') print(df_contain) df_range = df[(df['男女計'] >= 20) & (df['男女計'] < 40)] print('男女計が20以上40未満のものを表示') print(df_range)
出力結果
少し解説
文字列の条件
str
関数の中にいくつか文字の条件を入れることができます。
条件の追加
今回は&
をつけてAND条件をコードで紹介しました。
OR条件は|
になります。
注意点として、 必ず1つの条件文を()で囲みましょう 。