pandas
は、Pythonでデータ操作や分析を行うための強力なライブラリです。データを整理、変換、集約するためのツールを提供しており、データサイエンスや機械学習の分野で広く使用されています。
pandasの特徴
- データ構造
- Series: 1次元のデータ構造(配列のようなもの)。
- DataFrame: 2次元のデータ構造(表形式データを扱う)。
- 高性能なデータ操作
- データのフィルタリング、ソート、グループ化、結合が簡単に行える。
- 柔軟な入出力
- CSV、Excel、SQL、JSONなど、多くの形式のデータを簡単に読み書きできる。
- データのクリーニング
- 欠損値の処理やデータ型変換が容易。
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の応用例
- データのクリーニング
- 欠損値や重複データの処理。
- EDA(探索的データ解析)
- データの概要を確認し、パターンを見つける。
- データ変換
- 特定のフォーマットへの変換や列の追加。
- 機械学習
- モデルにデータを入力する前の前処理として利用。
次のステップ
pandasは柔軟で強力なライブラリです。基本的な操作を学んだら、以下のリソースを活用して応用スキルを身に付けましょう:
- 公式ドキュメント: pandas公式サイト
- オンラインチュートリアル: KaggleやDataCampで実践的な課題に挑戦。
- プロジェクトを作成: 自分のデータを使って小さなプロジェクトを進める。