“PythonのPandasを用いて特定条件下でデータフレームからデータを抽出する例示”

python

概要

PandasはPythonにおけるデータ分析を支える非常に重要なライブラリの一つです。

特に、データの入出力やデータクレンジングなど、データ前処理において多く使用されます。

ここではpandasでデータを抽出する方法を主に紹介します。

詳細内容

まずは、サンプルとして扱うデータフレームを作成します。

次のようなコードで作成できます。

# pandasをインポートします。

import pandas as pd# データフレームを作成します。

df = pd.DataFrame({ 'Name': ['Alice', 'Bob', 'Charlie', 'Dave', 'Eve', 'Frank'], 'Age': [24, 32, 18, 21, 30, 28], 'City': ['New York', 'Los Angeles', 'London', 'Tokyo', 'Shanghai', 'Beijing'], 'Profession': ['Doctor', 'Lawyer', 'Student', 'Engineer', 'Architect', 'Chef'] })print(df)

このコードを実行すると以下のようなデータフレームが作成されます。

      Name  Age         City Profession
0    Alice   24     New York     Doctor
1      Bob   32  Los Angeles     Lawyer
2  Charlie   18       London    Student
3     Dave   21        Tokyo   Engineer
4      Eve   30     Shanghai  Architect
5    Frank   28      Beijing       Chef

では、すぐにデータを抽出する方法について見ていきましょう。

#### 1. df.loc[row, col]を使用する方法
`df.loc[]`は行名と列名を指定してデータを抽出します。

例えば、行名が`2`で、列名が’Name’のデータを取得するには以下のようにします。

print(df.loc[2, 'Name'])

実行結果:

Charlie

#### 2. df.iloc[row_index, col_index]を使用する方法
`df.iloc[]`は行番号と列番号を指定してデータを抽出します。

例えば、行番号が`3`で、列番号が`1`のデータを取得するには以下のようにします。

print(df.iloc[3, 1])

実行結果:

21

#### 3. 特定の条件を満たす行を抽出する
例えば、’Age’が30以上の行を抽出するには以下のようにします。

df_over_30 = df[df['Age'] >= 30]
print(df_over_30)

実行結果:

  Name  Age         City Profession
1  Bob   32  Los Angeles     Lawyer
4  Eve   30     Shanghai  Architect

#### 4. queryを使用する方法
上記の条件抽出は`query`メソッドを使用すればもう少し簡単に書くことができます。

例えば、’Age’が30以上、かつ’City’が’Los Angeles’の行を抽出するには以下のようにします。

df_query = df.query('Age >= 30 & City == "Los Angeles"')
print(df_query)

実行結果:

  Name  Age         City Profession
1  Bob   32  Los Angeles     Lawyer

以上がpandasを使用してPythonでデータを抽出する方法の一部です。

他にも様々な方法がありますので、必要に応じてドキュメンテーションや関連資料を参照してください。

コメント

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