株式会社renue
renueについて
renueは、AIで業務を実装する会社です
AIコンサルティングから図面AI・広告運用エージェント・コールセンターAIまで、実際に動いているサービスをご覧いただけます。renueが何をしている会社か、まずはサービス一覧からご確認ください。
なぜデータ分析にPythonを選ぶのか
データ分析のツールとしてPythonが選ばれる理由は、豊富なライブラリと学習コストの低さにあります。表計算ソフトでは対応が難しい大規模データの処理や、機械学習モデルとのシームレスな連携が可能な点が、ビジネス現場での採用を加速させています。
実際の業務現場でも、売上データの集計や顧客行動の可視化、予測モデルの構築まで、Pythonひとつで一気通貫に対応できる環境が整っています。本記事では入門者が最初に習得すべきライブラリと学習ロードマップを体系的に解説します。
データ分析に必須の3大ライブラリ
Pythonによるデータ分析の中心となるのは次の3つです。
- NumPy:数値計算の基盤。高速な配列演算を担う
- pandas:表形式データの操作。Excelライクな感覚でデータを扱える
- Matplotlib:グラフ描画の定番。折れ線・棒グラフ・散布図など多彩な可視化に対応
これらに加えて、より洗練された統計グラフを描けるseabornも合わせて使われることが多いです。
環境構築:Anaconda または pip での手順
データ分析用Python環境を整える代表的な方法は2通りです。
Anacondaを使う方法(推奨・初学者向け)
Anaconda Distributionはデータサイエンス向けのPythonディストリビューションです。ただし、新しく作るconda環境にはbase環境のライブラリは引き継がれません。下記のように必要なパッケージを指定し、環境を有効化してから jupyter notebook を起動します(conda公式の環境作成手順)。
# conda で仮想環境を作成
conda create -n datascience python=3.11 numpy pandas matplotlib seaborn notebook pip setuptools
conda activate datascience
python -m pip install japanize-matplotlib
jupyter notebook
pipを使う方法(軽量・柔軟)
# 先に仮想環境を作成・有効化(macOS / Linux の例)
python -m venv .venv
source .venv/bin/activate
python -m pip install numpy pandas matplotlib seaborn notebook japanize-matplotlib setuptools
jupyter notebook
上記はcondaを使わない場合の手順です。WindowsのPowerShellでは有効化の行を .venv\Scripts\Activate.ps1 に置き換えます。Pythonの呼び出し名は環境に合わせてpython3やpyに変更してください(Python公式の仮想環境の説明)。
NumPy基礎:配列操作と数値計算
NumPyの核心は「ndarray(多次元配列)」です。同じ型の数値を配列にまとめ、Pythonのループを配列演算に置き換えることで高速化を期待できます。効果はデータ量・型・演算内容によって異なります(NumPy公式の解説)。
import numpy as np
# 配列の作成
a = np.array([1, 2, 3, 4, 5])
# 基本統計
print(a.mean()) # 平均: 3.0
print(a.std()) # 標準偏差: 1.41...
# ブロードキャスト(全要素に一括演算)
b = a * 2
print(b) # [2 4 6 8 10]
# 2次元配列(行列)
matrix = np.array([[1, 2], [3, 4]])
print(matrix.shape) # (2, 2)
print(matrix.T) # 転置
NumPyはpandasやscikit-learnなど他のライブラリの土台でもあるため、基本的な配列操作を先に押さえておくと学習がスムーズになります。
pandas基礎:表形式データの読み込みと加工
pandasはデータ分析の「主役」と言えるライブラリです。CSVやExcelファイルを数行で読み込み、フィルタリング・集計・結合を行えます(公式入門、read_csvの仕様)。次のコード用に、ノートブックと同じ作業ディレクトリへUTF-8のsales_data.csvを用意してください。学習用に新しく作る架空の例として、1行目を「月,売上」、続く行を「2026-01,120000」「2026-02,」「2026-03,180000」「2026-04,90000」とします。月は年月、売上は円単位の数値で、空欄は欠損です。以下ではこの例の売上の空欄を売上なしとして0に補います。実データでは未計測・不明などの意味を確認し、0補完・除外等を列ごとに判断してください(欠損値の取扱い)。
import pandas as pd
# CSVの読み込み
df = pd.read_csv('sales_data.csv', encoding='utf-8')
# 基本情報の確認
print(df.shape) # 行数・列数
print(df.dtypes) # 各列のデータ型
print(df.describe()) # 基本統計量
# 欠損値の確認・処理
print(df.isnull().sum())
df['売上'] = df['売上'].fillna(0) # この学習用データの売上列だけを0補完
# 条件フィルタリング
df_filtered = df[df['売上'] > 100000]
# グループ集計
monthly = df.groupby('月')['売上'].sum()
print(monthly)
よく使うpandasの操作一覧
| 操作 | コード例 | 用途 |
|---|---|---|
| 行/列の選択 | df['列名'] / df.loc[0] | 特定のデータ抽出 |
| 条件絞り込み | df[df['値']>100] | フィルタリング |
| グループ集計 | df.groupby('キー').sum() | カテゴリ別集計 |
| 列の追加 | df['新列'] = df['A']+df['B'] | 派生変数の作成 |
| 並び替え | df.sort_values('列名') | ランキング表示 |
| テーブル結合 | pd.merge(df1, df2, on='id') | 複数テーブルの統合 |
Matplotlib・seabornで可視化する
データ分析の成果をグラフで伝えることは、業務における意思決定支援に直結します。Matplotlibで基本的な描画の仕組みを理解し、seabornで見栄えのある統計グラフを素早く作る、という組み合わせが一般的です。
import matplotlib.pyplot as plt
import japanize_matplotlib # pip install japanize-matplotlib
# 折れ線グラフ
plt.figure(figsize=(10, 5))
plt.plot(monthly.index, monthly.values, marker='o', color='#213f34')
plt.title('月別売上推移')
plt.xlabel('月')
plt.ylabel('売上(円)')
plt.grid(True, alpha=0.3)
plt.tight_layout()
plt.savefig('monthly_sales.png', dpi=150)
plt.show()
import seaborn as sns
# ヒートマップ(相関行列の可視化)
corr = df.select_dtypes(include='number').corr()
sns.heatmap(corr, annot=True, cmap='coolwarm', fmt='.2f')
plt.title('相関係数ヒートマップ')
plt.show()
# 分布の可視化
sns.histplot(df['売上'], bins=30, kde=True)
plt.show()
日本語表示には japanize-matplotlib を利用できます(python -m pip install japanize-matplotlib setuptools 後、import japanize_matplotlib)。同パッケージ1.1.3はdistutilsに依存するため、Python 3.12以降の環境では互換モジュールを提供するsetuptoolsも入れます。フォント設定を後から上書きする処理にも注意してください(配布元の説明、Python 3.12以降の対応状況、setuptoolsの互換機能)。
データ分析人材の採用・育成支援
AI人材採用支援サービスや、企業のAI人材育成戦略・プログラム設計についてご相談いただけます。Pythonを使って取り組みたい分析課題や、必要なスキルをお聞かせください。
データ人材採用を相談する実践的なデータ分析ロードマップ
入門から実務活用まで、段階的に学ぶロードマップを示します。期間は1日1時間・週5日程度の学習を想定した本記事の計画例で、習得を保証する調査値ではありません。プログラミング経験、扱うデータ、復習に必要な時間に応じて調整してください。
ステップ1:Python基礎(1〜2週間)
- 変数・リスト・辞書・ループ・条件分岐
- 関数定義とファイル操作
- Jupyter Notebookの操作に慣れる
ステップ2:NumPy・pandas入門(2〜3週間)
- 配列・DataFrame・Seriesの概念理解
- CSVの読み込みと基本的な前処理(欠損処理・型変換・フィルタリング)
- groupby・merge・pivot_tableの練習
ステップ3:可視化(1〜2週間)
- Matplotlibで折れ線・棒・散布図の作成
- seabornで分布・相関・カテゴリ比較グラフの作成
- グラフの体裁調整(タイトル・軸ラベル・色・凡例)
ステップ4:実務データで分析プロジェクト(1ヶ月〜)
- Kaggleの入門コンペ(Titanic・House Prices等)に挑戦
- 自社や公開データセットでEDA(探索的データ分析)を実施
- 分析結果をレポートやダッシュボードとしてまとめる
ステップ5:発展(機械学習・自動化)
- scikit-learnで回帰・分類モデルを構築
- 分析パイプラインの自動化(スケジュール実行・通知連携)
- データ基盤(SQL・クラウドストレージ)との連携
学習リソースとしては、Python入門ガイドや、データ分析ツール比較記事も参考にしてください。
よくある質問(FAQ)
Q1. プログラミング未経験でもPythonデータ分析は始められますか?
A. 始められます。変数・リスト・ループなどの基礎を学び、pandasの入門コードを動かすところから練習します。本文の1〜2週間は学習計画の例で、全員がその期間に習得できるという意味ではありません。Jupyter Notebookではセルごとにコードと結果を確認しながら進められます。(Jupyter公式の説明)
Q2. pandasとExcelの違いは何ですか?
A. Excelは表を画面上で編集・集計しやすく、pandasは前処理・集計・可視化をコードにまとめて再利用・自動化しやすい点が異なります。処理できる規模や速度は行数だけでなく、列数・型・計算内容・メモリ容量によって変わります。pandasも主にメモリ内で処理し、中間データのコピーが必要な操作もあるため、数千万行を常に高速に扱えるとは限りません。必要な列だけの読込み、型の選択、分割処理等を検討します。コードの共有は分析手順の再現にも役立ちます。(pandas公式の大規模データの説明)
Q3. NumPyとpandasはどちらを先に学ぶべきですか?
A. NumPyを先に学ぶことを推奨します。pandasではNumPy配列に加え、拡張配列やArrow対応の型も利用します。配列演算を先に学ぶと、列単位で処理する考え方や型の違いを理解しやすくなります。(pandas公式の内部データ・型の説明)ただし学習時間が限られている場合はpandasを先に使いながらNumPyの概念を並行して学ぶ方法も現実的です。
Q4. データ分析の学習にJupyter Notebookは必須ですか?
A. 必須ではありませんが、強く推奨します。コードの一部を実行しながら結果をすぐ確認できる対話的な環境は、データの探索と仮説検証に最適です。VS CodeでもJupyter拡張機能を使ってノートブックを使用できます。
Q5. Pythonデータ分析スキルは実務でどのように活かせますか?
A. 売上・在庫・顧客データの集計自動化、マーケティング施策のABテスト分析、需要予測モデルの構築など、業種を問わず幅広い場面で活用できます。特にBIツールでは対応しきれない複雑な前処理や、複数システムのデータを統合する作業ではPythonの優位性が際立ちます。採用に向けたスキルの説明では、応募先の要件に合わせ、どの課題をどの手順で分析し、結果をどう確かめたかを示すとよいでしょう。
Q6. seabornとMatplotlibはどう使い分けますか?
A. Matplotlibは低レベルAPIで細かいカスタマイズが可能、seabornはMatplotlibの上に構築された高レベルAPIでデフォルトの見た目が洗練されています。例えば、探索段階ではseabornでグラフを作り、報告用にはMatplotlibで細部を調整する使い方ができます(seaborn公式入門)。
