Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pandas DataFrameの列値を比較条件で選択・フィルタリングする方法

Pandas DataFrameでは、さまざまな比較条件を使って列の値を評価できます。df[col] < 5df[col] == 10 のような比較演算を適用することで、各要素が条件を満たしているかどうかを確認できます。

例えば、df[col] > 2 という条件を指定した場合、列 col 内のすべての値が「2より大きい」かどうかを順番に判定します。条件を満たす要素には True、満たさない要素には False が返され、結果はブール型(bool)のSeriesとして得られます。

このブール値の結果は、そのままブールインデックスとして使うことで、条件に合致する行だけを抽出するフィルタリングにも活用できます。それでは、具体的な例を見ていきましょう。

処理の手順

  • 二次元・サイズ変更可能な表形式データであるDataFrame df を作成します。
  • 入力DataFrame df を出力して確認します。
  • 対象となる列名を変数 col に代入します。
  • 比較演算(>、<、==、!= など)を実行します。
  • 結果として得られるSeriesを出力します。

サンプルコード

import pandas as pd

# サンプルDataFrameを作成
df = pd.DataFrame(
    {
        "x": [5, 2, 7, 0],
        "y": [4, 7, 5, 1],
        "z": [9, 3, 5, 1]
    }
)
print("入力DataFrame:\n", df)

# 列 x に対する比較演算
col = "x"
print("列", col, "のうち 5 より大きい要素:\n", df[col] > 5)
print("列", col, "のうち 5 と等しい要素:\n", df[col] == 5)

# 列 y に対する比較演算
col = "y"
print("列", col, "のうち 5 未満の要素:\n", df[col] < 5)
print("列", col, "のうち 5 と等しくない要素:\n", df[col] != 5)

実行結果

入力DataFrame:
   x  y  z
0  5  4  9
1  2  7  3
2  7  5  5
3  0  1  1

列 x のうち 5 より大きい要素:
0    False
1    False
2    True
3    False
Name: x, dtype: bool

列 x のうち 5 と等しい要素:
0    True
1    False
2    False
3    False
Name: x, dtype: bool

列 y のうち 5 未満の要素:
0    True
1    False
2    False
3    True
Name: y, dtype: bool

列 y のうち 5 と等しくない要素:
0    True
1    True
2    False
3    True
Name: y, dtype: bool

ポイント解説

比較演算の結果は元のDataFrameと同じインデックスを持つブール型のSeriesになります。この結果を df[df[col] > 5] のように使えば、条件を満たす行のみを簡単に抽出できます。また、複数の条件を組み合わせたい場合は、&(AND)や |(OR)を使って (df["x"] > 2) & (df["y"] < 5) のように記述することで、より複雑な条件でのデータ選択も可能です。

  1. Pandasデータフレームで列の先頭文字を大文字に変換する方法

    このチュートリアルでは、Pandasデータフレームの列の先頭文字を大文字に変換する方法を解説します。文字列処理に便利な str.capitalize() メソッドを使用します。まず、PythonのリストからDataFrameを作成し、その後 str の capitalize メソッドを使って先頭文字を大文字に変換してみましょう。サンプルコード:DataFrameの作成# pandasライブラリをインポート import pandas as pd # DataFrameの列に使うリスト names = [tutorialspoint, mohit, sharma] age = [25, 34,

  2. Pandas DataFrameでタイムスタンプを生成・処理する方法

    この記事では、pandasライブラリの組み込み機能を使って、さまざまなタイムスタンプを生成・処理する方法を解説します。さらに、numpyモジュールも活用して、タイムスタンプ生成に必要なデータの作成や加工を行います。推奨環境:Jupyter Notebookチュートリアルを始める前に、pandasとnumpyライブラリをインストールしておく必要があります。コードのテストと実行には、Jupyter Notebookが最適です。pandasをインストールするには、以下のコマンドを実行しましょう。>>> pip install pandasこのコマンドを実行すると、必要な依存パッケー