Python

【Python】第7章第10回:pandasを用いたデータフレーム操作

本記事では、Pythonのデータ解析ライブラリ「pandas」を使ったデータフレーム操作の基本について解説します。効率的なデータ処理と分析スキルを身につけましょう。

0. 記事の概要

この記事を読むメリット

  • データ解析スキルの向上:pandasを使った基本操作ができるようになります。
  • 実践的なスキルの習得:データフレームを用いたデータ管理や処理を学べます。
  • 業務で役立つスキル:ExcelデータやCSVファイルの効率的な操作が可能になります。

この記事で学べること

  • pandasライブラリの基本概念とインストール方法
  • データフレームの作成、操作、編集
  • pandasを使った実践的なデータ処理

1. pandasとは何か?

1.1 基本概念

pandasは、Pythonでデータ解析やデータ操作を行うための強力なライブラリです。以下の特徴を持ちます。

  • データフレーム: 表形式データを扱うための構造
  • 柔軟な操作性: 行や列の選択、フィルタリング、並べ替えが簡単
  • ファイル互換性: CSV、Excel、SQLデータベースなどと連携可能

1.2 インストール方法

# pandasのインストール
pip install pandas

2. 基本的なデータフレーム操作

2.1 データフレームの作成

# データフレームの作成
import pandas as pd

# 辞書からデータフレームを作成
data = {
    "名前": ["Alice", "Bob", "Charlie"],
    "年齢": [25, 30, 35],
    "職業": ["エンジニア", "デザイナー", "教師"]
}
df = pd.DataFrame(data)

print(df)

2.2 データフレームの基本操作

# データフレームの操作
# 列の追加
df["給与"] = [50000, 60000, 55000]

# 行の削除
df = df.drop(1)  # 2行目を削除

# 特定の列の取得
ages = df["年齢"]

print(df)
print(ages)
動作解説
  • データフレーム作成: 辞書を基にデータフレームを生成。
  • 列の追加: 新しいデータを追加して拡張。
  • 行の削除: 不要な行を指定して削除。
  • 列の選択: 特定のデータを抽出して操作。

3. 応用例:データ集計とフィルタリング

3.1 集計操作

# 集計操作
print(df.describe())  # 基本統計量の計算
print(df["年齢"].mean())  # 平均年齢を計算

3.2 フィルタリング

# 特定条件の行を抽出
filtered_df = df[df["年齢"] > 30]
print(filtered_df)
動作解説
  1. 基本統計量: describe()を使ってデータ全体の統計情報を取得。
  2. 条件フィルタリング: 条件に基づいてデータを絞り込み。

4. 練習問題

以下の課題に挑戦してみましょう。

  1. データフレームを作成し、特定の列を基に並べ替えてください。
  2. 行を条件付きで削除するプログラムを作成してください。
  3. データフレームの行数や列数を取得するコードを書いてください。

5. 練習問題の解答と解説

問1〜3の解答例

# 問1: 列を基に並べ替え
df = pd.DataFrame(data)
sorted_df = df.sort_values("年齢")
print(sorted_df)

# 問2: 条件付きで行を削除
filtered_df = df[df["年齢"] > 28]
print(filtered_df)

# 問3: 行数や列数を取得
rows, cols = df.shape
print(f"行数: {rows}, 列数: {cols}")

6. まとめ

本記事では、pandasを使ったデータフレーム操作の基本を学びました。次は、実際のデータ解析や業務データを使ってさらにスキルを磨いてみましょう。