Pandasを使ったデータ結合と平均値の計算

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を使えば複雑なデータ操作も簡単に行うことができます。

投稿者 karaza

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です