Pythonで始めるデータ分析の基礎:Pandasを使ったCSVデータの読み込みと可視化
公開日: 2025年8月10日 カテゴリー: Python, データ分析, Pandas, Matplotlib, プログラミング

はじめに:なぜデータ分析が重要なのか?
私たちの周りには、日々膨大なデータが生まれています。ウェブサイトのアクセスログ、ゲームのプレイデータ、SNSの投稿、売上データなど、これらはすべて「データ」です。これらのデータから有益な情報や傾向を読み解くのが「データ分析」です。
データ分析のスキルは、ビジネス、科学、マーケティング、そしてゲーム開発など、あらゆる分野で求められています。この記事では、プログラミング初心者でもPythonを使って簡単にデータ分析を始めるための第一歩として、CSVファイルの読み込みとグラフによる可視化の基礎を解説します。
主にPythonのライブラリである「**Pandas**」と「**Matplotlib**」を使用します。
ステップ1:開発環境の準備と必要なライブラリのインストール
Pythonでデータ分析を行うには、Python本体と、データ分析用のライブラリが必要です。
1. Pythonのインストール
まだPythonがインストールされていない場合は、公式サイトから最新版をダウンロードしてインストールしてください。インストール時に「Add Python to PATH」にチェックを入れると、コマンドプロンプトやターミナルから簡単にPythonを実行できるようになります。
2. Jupyter Notebookの導入(推奨)
データ分析では、コードを書きながら結果をすぐに確認できる「Jupyter Notebook」が非常に便利です。以下のコマンドでインストールできます。
pip install jupyter
インストール後、コマンドプロンプトやターミナルで`jupyter notebook`と入力すると、ブラウザでJupyter Notebookが起動します。
3. PandasとMatplotlibのインストール
データ操作の「Pandas」と、グラフ描画の「Matplotlib」をインストールします。
pip install pandas matplotlib
**ヒント:** Anacondaというディストリビューションをインストールすれば、Python本体と多くのデータ分析用ライブラリ、Jupyter Notebookなどがまとめてインストールされるため、初心者には特におすすめです。
ステップ2:CSVデータの準備とPandasでの読み込み
データ分析の対象となるCSVファイルを用意しましょう。今回は架空の「`sales_data.csv`」というファイルを使います。テキストエディタで以下の内容を記述し、Jupyter Notebookを起動したフォルダと同じ場所に保存してください。
Date,Product,Sales,Region
2025-01-01,A,100,East
2025-01-02,B,150,West
2025-01-03,A,120,East
2025-01-04,C,200,North
2025-01-05,B,130,South
2025-01-06,A,110,East
2025-01-07,C,180,West
2025-01-08,A,90,North
2025-01-09,B,160,South
2025-01-10,C,210,East
PandasでCSVを読み込む
Jupyter Notebookで新しいPythonファイル(.ipynb)を作成し、以下のコードを入力して実行します。
import pandas as pd
# CSVファイルを読み込む
df = pd.read_csv('sales_data.csv')
# データの最初の5行を表示して確認
print(df.head())
# データフレームの情報を確認
print("\n--- DataFrame Info ---")
df.info()
# 統計情報を確認
print("\n--- Descriptive Statistics ---")
print(df.describe())
**コードの解説:**
- `import pandas as pd`: Pandasライブラリを`pd`という略称でインポートします。
- `pd.read_csv('sales_data.csv')`: `sales_data.csv`ファイルを読み込み、Pandasの「DataFrame」という形式で`df`変数に格納します。DataFrameは表形式のデータを扱うのに非常に便利です。
- `df.head()`: DataFrameの最初の5行を表示し、データが正しく読み込まれたかを確認します。
- `df.info()`: DataFrameの列ごとのデータ型、欠損値の有無などを表示します。
- `df.describe()`: 数値列の平均値、標準偏差、最小値、最大値などの統計情報を表示します。

ステップ3:データを探索・加工する(Pandasの基本操作)
読み込んだデータから必要な情報を取り出したり、加工したりする方法を見ていきましょう。
# 特定の列だけを表示
print("\n--- 'Sales' column ---")
print(df['Sales'])
# 複数の列を選択
print("\n--- 'Product' and 'Sales' columns ---")
print(df[['Product', 'Sales']])
# 条件に合う行を抽出(例: Salesが150以上のデータ)
print("\n--- Sales >= 150 ---")
print(df[df['Sales'] >= 150])
# 'Product'ごとの合計Salesを計算
print("\n--- Total Sales by Product ---")
total_sales_by_product = df.groupby('Product')['Sales'].sum()
print(total_sales_by_product)
# 'Region'ごとの平均Salesを計算
print("\n--- Average Sales by Region ---")
average_sales_by_region = df.groupby('Region')['Sales'].mean()
print(average_sales_by_region)
**コードの解説:**
- `df['列名']`: 特定の列(Series)を選択します。
- `df[['列名1', '列名2']]`: 複数の列をDataFrameとして選択します。
- `df[df['列名'] 演算子 値]`: 条件を指定して行をフィルタリングします。
- `df.groupby('列名')['集計対象列'].sum()/mean()`: 指定した列でデータをグループ化し、別の列の合計値や平均値を計算します。
ステップ4:Matplotlibでデータを可視化する
数値の羅列を見るよりも、グラフで可視化することでデータの傾向がはるかに分かりやすくなります。ここではMatplotlibを使って棒グラフと折れ線グラフを作成します。
import matplotlib.pyplot as plt
# 'Product'ごとの合計Salesを棒グラフで可視化
total_sales_by_product = df.groupby('Product')['Sales'].sum()
plt.figure(figsize=(8, 5)) # グラフのサイズを設定
total_sales_by_product.plot(kind='bar', color='skyblue')
plt.title('製品ごとの合計売上') # グラフのタイトル
plt.xlabel('製品') # X軸のラベル
plt.ylabel('合計売上') # Y軸のラベル
plt.xticks(rotation=0) # X軸の目盛りラベルの回転
plt.grid(axis='y', linestyle='--', alpha=0.7) # グリッド線を表示
plt.tight_layout() # レイアウトの調整
plt.show() # グラフを表示
# 時系列データを折れ線グラフで可視化
df['Date'] = pd.to_datetime(df['Date']) # 'Date'列を日付型に変換
df_daily_sales = df.groupby('Date')['Sales'].sum()
plt.figure(figsize=(10, 6))
df_daily_sales.plot(kind='line', marker='o', color='lightcoral')
plt.title('日別合計売上推移')
plt.xlabel('日付')
plt.ylabel('合計売上')
plt.grid(True, linestyle='--', alpha=0.7)
plt.tight_layout()
plt.show()
**コードの解説:**
- `import matplotlib.pyplot as plt`: Matplotlibの`pyplot`モジュールを`plt`という略称でインポートします。
- `plt.figure(figsize=(幅, 高さ))`: グラフの描画エリアのサイズを設定します。
- `plot(kind='bar')`: 棒グラフを描画します。`kind='line'`で折れ線グラフになります。
- `plt.title()`, `plt.xlabel()`, `plt.ylabel()`: グラフのタイトルや軸のラベルを設定します。
- `plt.xticks(rotation=...)`: X軸のラベルの表示方向を調整します。
- `plt.grid()`: グリッド線を表示します。
- `plt.tight_layout()`: グラフの要素が重ならないように自動で調整します。
- `plt.show()`: 作成したグラフを表示します。
- `pd.to_datetime()`: 日付文字列をPandasが扱える日付型に変換します。時系列データで折れ線グラフを描く際などに重要です。

まとめ:データ分析の第一歩を踏み出そう!
この記事では、PythonのPandasとMatplotlibを使って、CSVデータの読み込み、基本的な操作、そしてグラフによる可視化を行う方法を学びました。これらはデータ分析の非常に基礎的ながらも強力なツールです。
データ分析は、データをただ見るだけでなく、そこから「なぜこうなっているのか?」「次にどうすれば良いのか?」という洞察を得ることが目的です。ぜひ、身の回りにある様々なデータを分析してみて、新しい発見を楽しんでください。
さらに深く学ぶためには、統計学の知識、NumPyなどの他のライブラリ、より複雑なデータクリーニングや前処理の方法などを学ぶと良いでしょう。あなたのデータ分析の旅が素晴らしいものになることを願っています!