3. 複数条件でのフィルタリング
AND条件(かつ)
例:年齢が25以上かつ得点が85以上のデータを抽出
df_filtered = df[(df['年齢'] >= 25) & (df['得点'] >= 85)]
print(df_filtered)
出力:
名前 年齢 得点
0 太郎 25 85
1 花子 30 90
3 三郎 28 88
OR条件(または)
例:年齢が25以上または得点が85以上のデータを抽出
df_filtered = df[(df['年齢'] >= 25) | (df['得点'] >= 85)]
print(df_filtered)
出力:
名前 年齢 得点
0 太郎 25 85
1 花子 30 90
3 三郎 28 88
解説:
- AND条件には
&を使用します。 - OR条件には
|を使用します。 - 条件式は必ず括弧
()で囲みます。
4. 文字列によるフィルタリング
部分一致でのフィルタリング
例:「郎」が名前に含まれるデータを抽出
df_filtered = df[df['名前'].str.contains('郎')]
print(df_filtered)
出力:
名前 年齢 得点
0 太郎 25 85
2 次郎 22 78
3 三郎 28 88
解説:
str.contains('文字列')で指定した文字列を含むか判定します。
指定の文字列で始まるデータを抽出
例:「三」で始まる名前のデータを抽出
df_filtered = df[df['名前'].str.startswith('三')]
print(df_filtered)
出力:
名前 年齢 得点
3 三郎 28 88
5. 正規表現を使ったフィルタリング
例:名前が一文字のデータを抽出
df_filtered = df[df['名前'].str.match('^.{1}$')]
print(df_filtered)
出力:
Empty DataFrame
Columns: [名前, 年齢, 得点]
Index: []
解説:
str.match('正規表現')で正規表現にマッチするか判定します。- 上記の例では、一文字の名前を探しています。
6. 特定の列を選択する方法
単一の列を選択
得点列 = df['得点']
print(得点列)
出力:
0 85
1 90
2 78
3 88
Name: 得点, dtype: int64
複数の列を選択
df_selected = df[['名前', '得点']]
print(df_selected)
出力:
名前 得点
0 太郎 85
1 花子 90
2 次郎 78
3 三郎 88
7. locとilocの使い方
loc(ラベルによる選択)
# インデックスが1から3までの行、'名前'と'得点'の列を選択
df_loc = df.loc[1:3, ['名前', '得点']]
print(df_loc)
出力:
名前 得点
1 花子 90
2 次郎 78
3 三郎 88
iloc(位置による選択)
# 1行目から3行目、0列目と2列目を選択
df_iloc = df.iloc[1:4, [0, 2]]
print(df_iloc)
出力:
名前 得点
1 花子 90
2 次郎 78
3 三郎 88
解説:
locは行・列のラベル名で選択します。ilocは行・列の**位置(インデックス)**で選択します。
8. まとめ
pandasでのデータフィルタリングは、データ分析における基本的な操作です。条件指定や列の選択、locやilocを活用することで、必要なデータを効率的に抽出できます。
- ブールインデックスで条件に合うデータを抽出
- 複数条件でより細かいフィルタリング
- 文字列操作や正規表現で高度な検索
- locとilocで行・列を柔軟に選択
これらの方法をマスターして、データ分析をスムーズに進めましょう。
9. 関連キーワード
- pandas フィルタリング
- pandas 条件抽出
- pandas 複数条件
- pandas loc iloc
- pandas 文字列操作
- データ分析
- Python データ操作
- pandas 入門
- pandas 使い方
- pandas ブールインデックス
さらに学ぶ
ご注意:本記事は情報提供を目的としており、特定の行動を推奨するものではありません。実際のデータ分析においては、データの性質や目的に応じて適切な方法を選択してください。
トップに戻る
locとilocの使い分けは、手元のデータで何度か試すうちに感覚がつかめてきます。試す題材と進む順番が用意された環境で学ぶ、という選択肢もあります。AIプログラミングスクールSiiDの概要は次のとおりです。
AIプログラミングスクール「SiiD」について
AIプログラミングスクール「SiiD」は、未経験からITエンジニア転職を目指す方向けのオンラインスクールです。
SiiDの特徴
- 現役エンジニアでYouTube登録者約13万人の「セイト先生」が代表兼主任講師
- 採用側の実務知見(2,000人以上の選考・150名以上のエンジニア採用)にもとづく指導
- 生成AIを取り入れた学習設計と、実務レベルのフルスタックWeb開発スキル
- Workship CAREER(株式会社GIG)と連携した無料の転職伴走支援
- 経済産業省認定のReスキル講座で、給付金の条件を満たせば実質105,600円〜
- 学割あり(35%オフ)
こんな方におすすめ
- 未経験・文系・社会人からITエンジニア転職を本気で目指したい方
- 独学に限界を感じている方
- 費用を抑えながら実務スキルと転職サポートを両立したい方
「未経験だから」とあきらめる必要はありません。採用する側を知り尽くしたプロが、給付金で負担を抑えながら内定まで伴走します。