概要
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でデータを抽出する方法の一部です。
他にも様々な方法がありますので、必要に応じてドキュメンテーションや関連資料を参照してください。
コメント