Python初心者必見!データ分析の基礎から実践まで完全ガイド【サンプルデータ付き】

IT技術

データ分析は、現代社会のあらゆる分野で必要とされるスキルです。特にPythonは、シンプルな構文と豊富なライブラリが特徴で、初心者からプロまで幅広い層に支持されています。この記事では、Pythonを使ったデータ分析の基礎を、手を動かしながら学んでいきます。

スポンサーリンク

必要なモジュールのインストールと準備

Pythonでデータ分析を始めるには、以下のライブラリをインストールしましょう。

Pandas: データの読み込みや加工、分析を支援するライブラリ

NumPy: 数値計算に特化したツール

Matplotlib: 基本的なグラフ作成用ライブラリ

Seaborn: データ可視化を強化するためのライブラリ

インストールは以下のコマンドで簡単に行えます。

pip install pandas numpy matplotlib seaborn

サンプルデータの作成と読み込み



手元にデータがない場合でも、Pythonで簡単にサンプルデータを作成できます。以下はランダムなデータを生成し、CSV形式で保存するコードです。

import pandas as pd

import numpy as np

# サンプルデータの作成

np.random.seed(0)

sample_data = pd.DataFrame({

    '年齢': np.random.randint(20, 60, 100),

    '年収': np.random.randint(300, 1000, 100),

    '支出': np.random.randint(100, 500, 100)

})

# CSVファイルとして保存

sample_data.to_csv('sample_data.csv', index=False)

print("サンプルデータを作成しました。以下がその内容です:")

print(sample_data.head())

このコードを実行すると、sample_data.csvというファイルが生成されます。これを利用して分析を進めましょう。

データクレンジングの重要性と実例



データクレンジングは、分析結果の精度を左右する重要なプロセスです。現実のデータには、欠損値や外れ値、不一致なフォーマットなど、多くの問題が含まれています。これらを無視すると、誤った結論を導き出してしまう可能性があります。

よくあるデータの問題点

1. 欠損値(NaNや空白)

欠損値を放置すると、平均値や合計値の計算に影響します。

2. 外れ値

異常に高い値や低い値は、データ分布を歪める原因になります。

3. 不一致なフォーマット

日付や数値形式の不統一は、データ処理を複雑化します。

クレンジングの手法



以下は実務でも役立つ基本的なクレンジング手法です。

欠損値の確認と処理

# 欠損値を確認

print(sample_data.isnull().sum())

# 欠損値を平均値で埋める

sample_data['年収'] = sample_data['年収'].fillna(sample_data['年収'].mean())

外れ値の除去

# 四分位範囲を利用して外れ値を除去

Q1 = sample_data['支出'].quantile(0.25)

Q3 = sample_data['支出'].quantile(0.75)

IQR = Q3 - Q1

filtered_data = sample_data[~((sample_data['支出'] < (Q1 - 1.5 * IQR)) | (sample_data['支出'] > (Q3 + 1.5 * IQR)))]

print(filtered_data.head())

データフォーマットの統一

# 日付フォーマットの変換

sample_data['日付'] = pd.to_datetime(sample_data['日付'], errors='coerce')

データクレンジングを丁寧に行うことで、信頼性の高い分析結果を得ることができます。

グラフの作成方法



データの視覚化は、傾向や特徴を直感的に把握するための重要な手段です。

Matplotlibで基本のグラフを作成

import matplotlib.pyplot as plt

# サンプルデータのグラフ化

plt.plot(sample_data['年齢'], sample_data['年収'])

plt.title('年齢と年収の関係')

plt.xlabel('年齢')

plt.ylabel('年収')

plt.show()

Seabornでヒストグラムを作成

import seaborn as sns

# 年収の分布

sns.histplot(sample_data['年収'], bins=20, kde=True)

plt.title('年収の分布')

plt.show()

基本的なデータ分析手法



平均値・中央値・標準偏差の計算

# 平均値
print(sample_data['年収'].mean())
# 中央値
print(sample_data['年収'].median())
# 標準偏差
print(sample_data['年収'].std())

データの分布をBoxplotで確認

sns.boxplot(x=sample_data['支出'])
plt.title('支出の分布')
plt.show()

応用:相関分析と回帰分析の実例



相関分析

# 相関行列を計算

correlation = sample_data.corr()

print(correlation)

# 相関行列を可視化

sns.heatmap(correlation, annot=True, cmap='coolwarm')

plt.title('相関行列')

plt.show()

回帰分析

from sklearn.linear_model import LinearRegression

# モデルの準備

model = LinearRegression()

# 説明変数と目的変数を設定

X = sample_data[['年齢', '支出']]

y = sample_data['年収']

# モデルの学習

model.fit(X, y)

# 回帰係数と切片

print("回帰係数:", model.coef_)

print("切片:", model.intercept_)

まとめ

Pythonを使ったデータ分析の基本を学びながら、データクレンジングや可視化の重要性にも触れました。特に、クレンジングを丁寧に行うことで、より正確で信頼性の高い結果が得られることを意識しましょう。このチュートリアルを活用して、データ分析の第一歩を踏み出してください!

コメント

タイトルとURLをコピーしました