3. Pandasを学ぶ

pandas は、Pythonでデータ操作や分析を行うための強力なライブラリです。データを整理、変換、集約するためのツールを提供しており、データサイエンスや機械学習の分野で広く使用されています。


pandasの特徴

  1. データ構造
    • Series: 1次元のデータ構造(配列のようなもの)。
    • DataFrame: 2次元のデータ構造(表形式データを扱う)。
  2. 高性能なデータ操作
    • データのフィルタリング、ソート、グループ化、結合が簡単に行える。
  3. 柔軟な入出力
    • CSV、Excel、SQL、JSONなど、多くの形式のデータを簡単に読み書きできる。
  4. データのクリーニング
    • 欠損値の処理やデータ型変換が容易。

pandasの基本的な使い方

1. インストール

pandas をインストールするには、以下のコマンドを使用します:

pip install pandas

2. 基本的なデータ構造

(1) Series

1次元のデータ構造。リストや配列に似ていますが、インデックスが付与されます。

import pandas as pd

# Seriesの作成
s = pd.Series([10, 20, 30, 40], index=['a', 'b', 'c', 'd'])
print(s)

出力:

a    10
b 20
c 30
d 40
dtype: int64
(2) DataFrame

2次元のデータ構造。行と列を持つ表形式データ。

# DataFrameの作成
data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)
print(df)

出力:

Name  Age         City
0 Alice 25 New York
1 Bob 30 Los Angeles
2 Charlie 35 Chicago

3. データの読み書き

(1) CSVファイルの読み込み

# CSVファイルを読み込む
df = pd.read_csv('data.csv')
print(df)

(2) CSVファイルの書き出し

# CSVファイルとして保存
df.to_csv('output.csv', index=False)

4. データ操作

(1) データの選択

  • 列の選択
# 特定の列を選択
print(df['Name'])
  • 行の選択
# loc: ラベルで選択
print(df.loc[0])

# iloc: インデックス番号で選択
print(df.iloc[1])

(2) フィルタリング

# 条件に基づいてデータをフィルタリング
filtered_df = df[df['Age'] > 30]
print(filtered_df)

(3) ソート

# 年齢順にソート
sorted_df = df.sort_values('Age', ascending=False)
print(sorted_df)

(4) データの集計

# 列ごとの平均を計算
print(df['Age'].mean())

5. 欠損値の処理

# 欠損値を確認
print(df.isnull())

# 欠損値を削除
df_cleaned = df.dropna()

# 欠損値を埋める
df_filled = df.fillna(value={'Age': 0})

6. グループ化と集約

# データのグループ化
grouped = df.groupby('City')['Age'].mean()
print(grouped)

pandasの応用例

  1. データのクリーニング
    • 欠損値や重複データの処理。
  2. EDA(探索的データ解析)
    • データの概要を確認し、パターンを見つける。
  3. データ変換
    • 特定のフォーマットへの変換や列の追加。
  4. 機械学習
    • モデルにデータを入力する前の前処理として利用。

次のステップ

pandasは柔軟で強力なライブラリです。基本的な操作を学んだら、以下のリソースを活用して応用スキルを身に付けましょう:

  1. 公式ドキュメント: pandas公式サイト
  2. オンラインチュートリアル: KaggleやDataCampで実践的な課題に挑戦。
  3. プロジェクトを作成: 自分のデータを使って小さなプロジェクトを進める。
タイトルとURLをコピーしました