0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pythonによるデータ分析入門:pandasで始める基本データ処理

0
Posted at

Webサービスやデジタルプラットフォームを運営していると、アクセスログ、ユーザー行動、コンテンツ閲覧数、デバイス情報など、さまざまなデータが蓄積されます。

しかし、データを保存しているだけでは十分ではありません。

重要なのは、データを整理し、傾向を見つけ、次の改善につなげることです。

そこで便利なのが Pythonpandas です。

本記事では、Pythonを使ったデータ分析の基本的な流れを、シンプルなサンプルデータを使いながら紹介します。


なぜPythonがデータ分析で使われるのか

PythonはWeb開発やAIだけでなく、データ分析でも広く利用されています。

主な理由は以下です。

  • 文法が比較的シンプル
  • データ分析ライブラリが充実している
  • CSVやJSONを簡単に扱える
  • 可視化ツールが豊富
  • 機械学習へ発展させやすい

特に pandas を利用すると、表形式データを効率的に処理できます。


pandasをインストールする

まずは必要なライブラリをインストールします。

pip install pandas

Pythonファイルでは以下のように読み込みます。

import pandas as pd

pdという名前で利用するのが一般的です。


CSVデータを読み込む

例えば、以下のようなアクセスデータがあるとします。

date,country,device,visits
2026-08-01,Malaysia,mobile,1200
2026-08-01,Singapore,desktop,420
2026-08-02,Malaysia,mobile,1350
2026-08-02,Thailand,mobile,760

このCSVをpandasで読み込む場合は、read_csv()を利用します。

import pandas as pd

df = pd.read_csv("access.csv")

print(df.head())

head() を使うと、先頭数行を確認できます。


データの基本情報を確認する

分析を始める前に、データ構造を確認することが重要です。

print(df.info())

これにより、

  • カラム名
  • データ型
  • 欠損値
  • 行数

などを確認できます。

数値データの概要を見る場合は、

print(df.describe())

を利用します。

平均値、最小値、最大値などをすぐに確認できます。


必要なデータだけ抽出する

例えば、Malaysiaのデータだけ確認したい場合は以下のように書けます。

malaysia = df[df["country"] == "Malaysia"]

print(malaysia)

モバイルユーザーだけ抽出する場合:

mobile = df[df["device"] == "mobile"]

複数条件を組み合わせることもできます。

result = df[
    (df["country"] == "Malaysia") &
    (df["device"] == "mobile")
]

実際のデータ分析では、このようなフィルタリングを頻繁に利用します。


groupbyでデータを集計する

データ分析で特に便利なのが groupby() です。

例えば国ごとのアクセス数を集計する場合:

country_visits = (
    df.groupby("country")["visits"]
      .sum()
      .sort_values(ascending=False)
)

print(country_visits)

出力イメージ:

Malaysia     2550
Thailand      760
Singapore     420

これだけでも、どの地域からアクセスが多いかを確認できます。


デバイス別に分析する

モバイルとデスクトップの比率を見ることもできます。

device_visits = (
    df.groupby("device")["visits"]
      .sum()
)

print(device_visits)

東南アジア向けWebサービスでは、モバイル利用率が重要な分析項目になるケースがあります。

単純なアクセス数だけでなく、

  • デバイス
  • 時間帯
  • ページ
  • 流入経路

などを組み合わせることで、より具体的な傾向を把握できます。


欠損値を確認する

実際のデータには、値が入力されていないケースがあります。

print(df.isnull().sum())

欠損値を削除する場合:

df = df.dropna()

特定の値で補完する場合:

df["visits"] = df["visits"].fillna(0)

ただし、欠損値を単純に削除すればよいとは限りません。

「なぜデータが欠けているのか」を確認することも重要です。


日付データを扱う

日付を文字列のまま扱うより、datetime型へ変換すると分析しやすくなります。

df["date"] = pd.to_datetime(df["date"])

曜日を追加する例:

df["weekday"] = df["date"].dt.day_name()

月単位で集計することもできます。

df["month"] = df["date"].dt.to_period("M")

時系列データを分析する場合には非常に便利です。


ピボットテーブルを作る

国とデバイス別にアクセスを比較したい場合は、pivot_table()も利用できます。

table = pd.pivot_table(
    df,
    values="visits",
    index="country",
    columns="device",
    aggfunc="sum",
    fill_value=0
)

print(table)

複数のカテゴリを比較したい場合に便利です。


簡単な可視化を行う

pandasでは簡単なグラフも作成できます。

country_visits.plot(kind="bar")

より高度な可視化を行う場合は、

  • Matplotlib
  • Plotly
  • Altair

などのライブラリを利用できます。

ただし、グラフを作る前に「何を確認したいのか」を明確にすることが重要です。


デジタルプラットフォームでの活用例

データ分析は、単なるレポート作成だけではなく、サービス改善にも活用できます。

例えば、WINMYR Malaysia のようなデジタルプラットフォームをデータ分析のケースとして考える場合、

  • モバイルとデスクトップの利用比率
  • 時間帯別アクセス
  • ページごとの閲覧傾向
  • 地域別トラフィック
  • コンテンツごとの利用状況

といったデータを整理することで、ユーザー行動の特徴を把握しやすくなります。

重要なのは、データそのものを見るだけではなく、

「この数値から何を改善できるか」

という視点を持つことです。


データ分析の基本フロー

実務では、以下の流れで進めると整理しやすくなります。

1. 目的を決める

例:

「モバイルユーザーの利用傾向を知りたい」


2. データを収集する

必要な項目を整理します。

date
country
device
page
visits

3. データをクリーニングする

  • 欠損値
  • 重複
  • 異常値
  • データ型

を確認します。


4. 集計する

groupby()pivot_table() を利用します。


5. 可視化する

グラフや表で傾向を確認します。


6. 改善につなげる

分析結果から、UI、コンテンツ、パフォーマンスなどの改善仮説を立てます。


AI分析への発展

pandasでデータ処理に慣れると、次のステップとして機械学習やAI分析にも進めます。

例えば、

  • ユーザー行動の分類
  • 異常アクセス検知
  • コンテンツ傾向分析
  • 時系列予測
  • クラスタリング

などがあります。

Pythonでは、

pandas
↓
NumPy
↓
scikit-learn
↓
機械学習・AI

という流れで学習すると理解しやすいでしょう。


まとめ

Pythonとpandasを利用すると、Webサービスから得られる大量のデータを比較的シンプルなコードで分析できます。

まず覚えておきたい基本操作は、

  • read_csv()
  • head()
  • info()
  • groupby()
  • pivot_table()
  • isnull()
  • to_datetime()

です。

データ分析では、高度なAIモデルを作る前に、データを正しく理解することが重要です。

まずは小さなCSVデータから始めて、集計・比較・可視化を繰り返すことで、実務で使えるデータ分析の基礎を身につけていきましょう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?