KAMEYA_WORKS
DataFrame
の詳細pandas
のDataFrame
は、表形式のデータを扱うための強力なデータ構造です。本章では、DataFrame
の基本的な操作として、特定の行・列の取得、データの処理、基本的な計算方法について詳しく解説します。
DataFrame
の作成まずは、基本的なDataFrame
を作成します。
import pandas as pd
# サンプルデータを辞書で定義
data = {
'名前': ['Alice', 'Bob', 'Charlie', 'David'],
'年齢': [25, 30, 35, 40],
'得点': [85, 90, 78, 92],
'身長': [160, 175, 168, 180]
}
# DataFrameの作成
df = pd.DataFrame(data)
print(df)
名前 年齢 得点 身長
0 Alice 25 85 160
1 Bob 30 90 175
2 Charlie 35 78 168
3 David 40 92 180
loc
)loc
を使うと、ラベル(インデックス)を指定して行を取得できます。
# 1行目のデータを取得
print(df.loc[1])
名前 Bob
年齢 30
得点 90
身長 175
Name: 1, dtype: object
複数行を取得:
print(df.loc[[0, 2]])
iloc
)iloc
を使うと、行番号でデータを取得できます。
# 2行目のデータを取得
print(df.iloc[2])
範囲を指定して取得:
print(df.iloc[1:3]) # 1行目から2行目まで取得
print(df['名前']) # '名前'列の全データを取得
複数の列を取得:
print(df[['名前', '得点']])
# 年齢が30歳以上のデータを取得
print(df[df['年齢'] >= 30])
# 得点が90以上の人の名前を取得
print(df[df['得点'] >= 90]['名前'])
df['BMI'] = df['身長'] / 100 # 身長をメートル単位に変換
print(df)
df['得点'] = df['得点'] + 5 # 全員の得点を5点加算
print(df)
df = df.drop(columns=['BMI']) # 'BMI'列を削除
print(df)
print(df.describe()) # 平均、標準偏差、最大値、最小値などを取得
print(df['得点'].mean()) # 得点の平均
print(df['身長'].sum()) # 身長の合計
print(df['得点'].max()) # 得点の最大値
print(df['得点'].min()) # 得点の最小値
print(df.sort_values(by='得点', ascending=False)) # 得点の降順でソート
loc
や iloc
を使って特定の行を取得できるこのように、pandas
のDataFrame
を使うとデータの処理や分析を簡単に行えます。