PythonのPandasライブラリの概要

目次
インストール データフレームの作成 データの読み込みと書き込み データの操作 データのクリーニング 実例
MENU
HOME 各種関数 演算子と変数の宣言 if/elif/else文 for文 while文 match/case文 主要なライブラリとフレームワーク
ライブラリー
Numpy Matplotlib OpenPyXl pip トップへ戻る

Pandasは、Pythonでデータ操作や分析を行うための強力なライブラリです。特に、表形式のデータ(データフレーム)の操作を簡単にするためのツールセットを提供しています。データサイエンス、機械学習、統計分析などの分野で広く使用されています。


Pandasとは

Pandasは、Pythonでデータ操作および分析を行うための強力なライブラリです。特にデータフレームというデータ構造を提供しており、大量のデータを簡単に操作するための豊富な機能を備えています。

インストール

まず、Pandasを使用するには、ライブラリをインストールする必要があります。以下のコマンドを使用します:

pip install pandas

データフレームの作成

Pandasの基本的な機能は、データフレームの作成です。データフレームは、行と列からなる2次元のデータ構造です。リスト、辞書、または他のデータソースからデータフレームを作成できます。

import pandas as pd

# 辞書からデータフレームを作成
data = {
    "名前": ["Alice", "Bob", "Charlie"],
    "年齢": [25, 30, 35],
    "都市": ["New York", "Los Angeles", "Chicago"]
}

df = pd.DataFrame(data)
print("データフレーム:\n", df)
                

データの読み込みと書き込み

Pandasは、CSV、Excel、SQLデータベースなど、さまざまなデータソースからデータを読み込むことができます。また、データをこれらのフォーマットで保存することもできます。

# CSVファイルからデータを読み込む
df = pd.read_csv("data.csv")
print("CSVから読み込んだデータ:\n", df)

# データフレームをCSVファイルに書き込む
df.to_csv("output.csv", index=False)
                

データの操作

Pandasでは、データのフィルタリング、選択、グループ化、集計、結合などの操作が簡単に行えます。

# データのフィルタリング
filtered_df = df[df["年齢"] > 30]
print("年齢が30以上のフィルタリング:\n", filtered_df)

# 特定の列を選択
selected_columns = df[["名前", "都市"]]
print("名前と都市の列を選択:\n", selected_columns)

# データのグループ化と集計
grouped_df = df.groupby("都市").mean()
print("都市ごとの平均年齢:\n", grouped_df)

# データの結合
df1 = pd.DataFrame({"名前": ["Alice", "Bob"], "スコア": [85, 90]})
df2 = pd.DataFrame({"名前": ["Alice", "Bob"], "年齢": [25, 30]})
merged_df = pd.merge(df1, df2, on="名前")
print("結合されたデータフレーム:\n", merged_df)
                

データのクリーニング

Pandasは、欠損値の処理や重複データの削除など、データのクリーニング機能も提供しています。

# 欠損値の処理
df["年齢"].fillna(df["年齢"].mean(), inplace=True)
print("欠損値を平均値で埋める:\n", df)

# 重複データの削除
df.drop_duplicates(inplace=True)
print("重複データを削除:\n", df)
                

実例

例題1: データの集計と可視化

以下の例では、Pandasを使用してデータを集計し、Matplotlibを使用して可視化します。

import pandas as pd
import matplotlib.pyplot as plt

# データフレームの作成
data = {
    "名前": ["Alice", "Bob", "Charlie", "David", "Edward"],
    "スコア": [85, 90, 78, 92, 88]
}
df = pd.DataFrame(data)

# スコアの平均を計算
mean_score = df["スコア"].mean()
print("平均スコア:", mean_score)

# スコアのヒストグラムをプロット
df["スコア"].plot(kind="hist", bins=5, alpha=0.7)
plt.xlabel("スコア")
plt.ylabel("頻度")
plt.title("スコアのヒストグラム")
plt.show()
                

例題2: 時系列データの操作

以下の例では、Pandasを使用して時系列データを操作します。

import pandas as pd

# 日付範囲の作成
date_range = pd.date_range(start="2022-01-01", end="2022-01-10")

# ランダムなデータの作成
data = {"値": np.random.randn(len(date_range))}
df = pd.DataFrame(data, index=date_range)
print("時系列データ:\n", df)

# 移動平均の計算
df["移動平均"] = df["値"].rolling(window=3).mean()
print("移動平均を追加:\n", df)