はじめに
データ分析ライブラリ三種の神器である「Numpy」「Pandas」「Matplotlib」についての入門記事です。ソースコードはこちら
Numpy入門【データ分析ライブラリ三種の神器①】
Pandas入門【データ分析ライブラリ三種の神器②】
Matplotlib入門【データ分析ライブラリ三種の神器③】
Pandasは、Pythonでデータ解析を行うための強力なライブラリです。主に2種類のデータ構造であるSeries
とDataFrame
を提供し、データの操作や変換が容易になります。
1. インストールとインポート
Pandasを使用する前に、まずライブラリをインストールする必要があります。インストールは以下のコマンドで行います。
pip install pandas
インストールが完了したら、Pandasをインポートします。
import pandas as pd
2. Series
Series
は、Pandasで提供される1次元のデータ構造です。リストや辞書を使って簡単に作成できます。
data = [1, 2, 3, 4, 5]
s = pd.Series(data)
print(s)
出力:
0 1
1 2
2 3
3 4
4 5
dtype: int64
3. DataFrame
DataFrame
は、Pandasで提供される2次元のデータ構造で、表形式のデータを扱うのに適しています。リストや辞書を使って作成できます。
data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
df = pd.DataFrame(data)
print(df)
出力:
A B C
0 1 4 7
1 2 5 8
2 3 6 9
4. CSVファイルの読み込みと書き込み
Pandasを使用して、CSVファイルを簡単に読み込んだり書き込んだりできます。
4.1 CSVファイルの読み込み
df = pd.read_csv('sample.csv')
print(df)
4.2 CSVファイルへの書き込み
df.to_csv('output.csv', index=False)
5. データの選択と操作
5.1 カラムの選択
col_A = df['A']
print(col_A)
5.2 行の選択
row_1 = df.loc[1]
print(row_1)
5.3 条件による選択
filtered_df = df[df['A'] > 1]
print(filtered_df)
6. データの統計情報
Pandasを使用すると、データの統計情報を簡単に取得できます。以下に一部の統計情報の取得方法を紹介します。
6.1 基本的な統計情報
stats = df.describe()
print(stats)
6.2 平均値
mean = df.mean()
print(mean)
6.3 中央値
median = df.median()
print(median)
6.4 最大値・最小値
max_value = df.max()
min_value = df.min()
print(max_value)
print(min_value)
7. データの欠損値処理
データに欠損値が含まれている場合、それを処理する必要があります。Pandasでは、欠損値の検出や処理が容易にできます。
7.1 欠損値の検出
missing_values = df.isnull()
print(missing_values)
7.2 欠損値の削除
df_dropna = df.dropna()
print(df_dropna)
7.3 欠損値の補完
df_filled = df.fillna(value=0)
print(df_filled)
8. データの結合と整形
Pandasでは、複数のデータフレームを結合したり、データを整形することが容易にできます。
8.1 データフレームの結合(横方向)
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'C': [7, 8, 9], 'D': [10, 11, 12]})
df_concat = pd.concat([df1, df2], axis=1)
print(df_concat)
8.2 データフレームの結合(縦方向)
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'A': [7, 8, 9], 'B': [10, 11, 12]})
df_concat = pd.concat([df1, df2], axis=0)
print(df_concat)
8.3 データフレームのマージ
left = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'],
'A': ['A0', 'A1', 'A2', 'A3'],
'B': ['B0', 'B1', 'B2', 'B3']})
right = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3'],
'C': ['C0', 'C1', 'C2', 'C3'],
'D': ['D0', 'D1', 'D2', 'D3']})
merged = pd.merge(left, right, on='key')
print(merged)
8.4 ピボットテーブルの作成
data = {'A': ['foo', 'foo', 'foo', 'bar', 'bar', 'bar'],
'B': ['one', 'one', 'two', 'two', 'one', 'one'],
'C': ['x', 'y', 'x', 'y', 'x', 'y'],
'D': [1, 2, 3, 4, 5, 6]}
df = pd.DataFrame(data)
pivot_table = df.pivot_table(values='D', index=['A', 'B'], columns=['C'])
print(pivot_table)
これで、Pandasの基本的な使い方を一通り紹介しました。実際のデータ解析では、これらの機能を組み合わせてデータを操作・分析します。Pandasは非常に柔軟で強力なライブラリであるため、ぜひ活用してみてください。
Numpy入門【データ分析ライブラリ三種の神器①】
Pandas入門【データ分析ライブラリ三種の神器②】
Matplotlib入門【データ分析ライブラリ三種の神器③】