PythonのPandasを使用する際、データフレームから特定の行や列を効率よく取得する方法を知っておくと非常に便利です。今回はそのような基本的な操作方法をいくつかご紹介します。
Contents
目次
- 特定の列を取得する
- 特定の区間の行を抽出する
- loc アトリビュートを使って特定の行・列を抽出する
- 行や列の位置を指定して行・列を取得する
- 条件を指定して行・列を取得する
- 複数条件を指定して行・列を取得する
準備: ライブラリのインポートとサンプルデータフレームの作成
import pandas as pd
# サンプルデータフレーム
df = pd.DataFrame({
'Name': ['Alice', 'Bob', 'Charlie', 'David'],
'Age': [25, 30, 35, 40],
'Occupation': ['Engineer', 'Doctor', 'Lawyer', 'Artist']
})
実行結果
Name Age Occupation
0 Alice 25 Engineer
1 Bob 30 Doctor
2 Charlie 35 Lawyer
3 David 40 Artist
特定の列を取得する
単一の列を取得するには、以下のように列名を指定します。
name_column = df['Name']
実行結果
0 Alice
1 Bob
2 Charlie
3 David
Name: Name, dtype: object
特定の区間の行を抽出する
特定の区間の行を抽出するには、以下のようにスライスを使用します。
rows_1_to_2 = df[1:3]
実行結果
Name Age Occupation
1 Bob 30 Doctor
2 Charlie 35 Lawyer
loc アトリビュートを使って特定の行・列を抽出する
loc を使用すると、行名(インデックス)と列名で指定できます。
row_1 = df.loc[1]
cell = df.loc[1, 'Name']
実行結果
Name Bob
Age 30
Occupation Doctor
Name: 1, dtype: object
Bob
行や列の位置を指定して行・列を取得する
iloc を使用すると、行と列の位置(整数)で指定できます。
row_1 = df.iloc[1]
cell = df.iloc[1, 0]
実行結果
Name Bob
Age 30
Occupation Doctor
Name: 1, dtype: object
Bob
条件を指定して行・列を取得する
条件式を使ってデータを取得することもできます。
age_over_30 = df[df['Age'] >= 30]
実行結果
Name Age Occupation
1 Bob 30 Doctor
2 Charlie 35 Lawyer
3 David 40 Artist
複数条件を指定して行・列を取得する
複数の条件を組み合わせてデータを取得することもできます。
age_and_occupation = df[(df['Age'] >= 30) & (df['Occupation'] != 'Artist')]
実行結果
Name Age Occupation
1 Bob 30 Doctor
2 Charlie 35 Lawyer
まとめ
これで、Pandasでデータフレームから特定の行や列を効率よく取得する基本的な方法を学べました。これらのテクニックは、データ分析や前処理で頻繁に使いますので、ぜひマスターしてください。
コメント