Pandasの基本的な操作
PandasはPythonでデータ分析を行うための強力なライブラリです。以下に、Pandasの基本的な操作をいくつか紹介します。
データフレームの作成
Pandasでは、DataFrame
という2次元のデータ構造を使用します。これは、ExcelのスプレッドシートやSQLのテーブルのように、行と列でデータを表現します。
import pandas as pd
# データフレームの作成
df = pd.DataFrame({
'A': [1, 2, 3],
'B': ['a', 'b', 'c'],
})
データの読み込みと書き出し
Pandasは、CSVやExcel、SQLデータベースなど、様々な形式のデータを読み込むことができます。
# CSVファイルの読み込み
df = pd.read_csv('data.csv')
# Excelファイルの読み込み
df = pd.read_excel('data.xlsx')
# CSVファイルへの書き出し
df.to_csv('output.csv', index=False)
データの選択とフィルタリング
Pandasでは、特定の行や列を選択したり、条件に合うデータをフィルタリングしたりすることができます。
# 列の選択
df['A']
# 行の選択
df.loc[0]
# 条件に合うデータのフィルタリング
df[df['A'] > 1]
これらはPandasの基本的な操作の一部です。Pandasは非常に多機能なライブラリなので、詳しくは公式ドキュメンテーションを参照してください。次のセクションでは、データの結合について説明します。
データの結合: concat, merge, join
Pandasでは、複数のデータフレームを結合するためのいくつかの方法が提供されています。ここでは、concat
, merge
, join
の3つの方法を紹介します。
concat
concat
関数は、データフレームを縦または横に連結します。デフォルトでは縦に連結(つまり、行を追加)します。
df1 = pd.DataFrame({'A': ['A0', 'A1'], 'B': ['B0', 'B1']})
df2 = pd.DataFrame({'A': ['A2', 'A3'], 'B': ['B2', 'B3']})
result = pd.concat([df1, df2])
merge
merge
関数は、一つまたは複数のキーを基にして、2つのデータフレームを結合します。SQLのJOIN
操作と似ています。
df1 = pd.DataFrame({'key': ['A', 'B', 'C', 'D'], 'value': range(4)})
df2 = pd.DataFrame({'key': ['B', 'D', 'E', 'F'], 'value': range(4, 8)})
result = pd.merge(df1, df2, on='key')
join
join
関数は、インデックスに基づいて2つのデータフレームを結合します。
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2']}, index=['a', 'b', 'c'])
df2 = pd.DataFrame({'B': ['B0', 'B1', 'B2']}, index=['a', 'b', 'd'])
result = df1.join(df2)
これらの関数は、データの結合に非常に便利です。次のセクションでは、平均値の計算について説明します。
平均値の計算: mean
Pandasでは、データフレームやシリーズの平均値を計算するためのmean
関数が提供されています。以下に、その基本的な使用方法を示します。
列の平均値
データフレームの特定の列の平均値を計算するには、その列を選択してからmean
関数を呼び出します。
df = pd.DataFrame({
'A': [1, 2, 3, 4, 5],
'B': [2, 3, 4, 5, 6],
})
# 列Aの平均値
mean_a = df['A'].mean()
行の平均値
データフレームの特定の行の平均値を計算するには、mean
関数にaxis=1
を指定します。
# 行0の平均値
mean_row0 = df.loc[0].mean(axis=1)
データフレーム全体の平均値
データフレーム全体の平均値を計算するには、mean
関数を直接呼び出します。
# データフレーム全体の平均値
mean_df = df.mean()
これらの方法を使って、Pandasで平均値を簡単に計算することができます。次のセクションでは、これらの操作を組み合わせて、データ結合と平均値の計算の実例を見ていきます。
実例: データ結合と平均値の計算
ここでは、Pandasを使って2つのデータフレームを結合し、その結果の平均値を計算する実例を見ていきます。
まず、2つのデータフレームを作成します。
import pandas as pd
# データフレーム1の作成
df1 = pd.DataFrame({
'A': [1, 2, 3],
'B': [4, 5, 6],
}, index=['a', 'b', 'c'])
# データフレーム2の作成
df2 = pd.DataFrame({
'C': [7, 8, 9],
'D': [10, 11, 12],
}, index=['a', 'b', 'd'])
次に、これらのデータフレームをjoin
関数を使って結合します。
# データフレームの結合
df = df1.join(df2, how='outer')
この結果、以下のようなデータフレームが得られます。
A B C D
a 1 4 7.0 10.0
b 2 5 8.0 11.0
c 3 6 NaN NaN
d NaN NaN 9.0 12.0
最後に、この結合したデータフレームの各列の平均値を計算します。
# 平均値の計算
mean = df.mean()
これにより、各列の平均値が得られます。
A 2.0
B 5.0
C 8.0
D 11.0
dtype: float64
以上が、Pandasを使ったデータ結合と平均値の計算の基本的な流れです。このように、Pandasを使えば複雑なデータ操作も簡単に行うことができます。