Shikata Ga Nai

Private? There is no such things.

5. データ分析に必須のライブラリ 〜pandas・NumPyの基礎〜

Hello there, ('ω')ノ

🔍 1. pandasとは?NumPyとは?

pandas(パンダス)NumPy(ナンパイ) は、Pythonでデータ分析を行う際に欠かせないライブラリです。

ライブラリ 役割 特徴
NumPy 配列(行列)計算 大量の数値データを高速処理
pandas データフレーム操作 表データ(Excelのようなデータ)を簡単に扱える

pandasは、NumPyをベースにして作られており、データ分析には 両方のライブラリを使いこなすことが大切 です!


📌 2. pandasを使ったデータ操作

まずは、pandasをインストールして使ってみましょう!
(Kaggleノートブックには 最初からインストールされている ので、そのまま使えます)

✅ pandasをインポート

import pandas as pd

📌 データの読み込み

CSVファイル(例: Titanicデータセット)を読み込んでみます。

# データの読み込み
df = pd.read_csv("/kaggle/input/titanic/train.csv")

# データの先頭5行を表示
df.head()

✅ ポイント:
- pd.read_csv("ファイルパス") でCSVファイルを読み込む
- .head() でデータの先頭5行を表示


📊 3. データの基本情報を確認

データの概要を確認するには、以下のコードを使います。

# データの形(行数 × 列数)
print(df.shape)  

# 各列のデータ型と欠損値の確認
print(df.info())  

# 基本統計量の確認(平均・最大値・最小値など)
print(df.describe())

✅ ポイント:
- .shape でデータの行数・列数を取得
- .info() でデータ型と欠損値を確認
- .describe() で統計的な要約を表示


📌 4. データの操作(フィルタリング・選択・変更)

pandasを使うと、データの操作が簡単にできます!

✅ 指定した列だけを表示

df["Name"].head()

✅ 条件に合うデータを抽出

# 乗客の中で性別が女性("Sex" == "female")のデータを抽出
df_female = df[df["Sex"] == "female"]
print(df_female.head())

✅ 新しい列を作成

# 家族の人数を計算(兄弟姉妹 + 両親子供 + 自分)
df["FamilySize"] = df["SibSp"] + df["Parch"] + 1
print(df[["SibSp", "Parch", "FamilySize"]].head())

✅ データの並び替え

# 運賃(Fare)が高い順に並び替え
df_sorted = df.sort_values(by="Fare", ascending=False)
print(df_sorted.head())

📌 5. NumPyの基本

pandasは表データを扱うのに便利ですが、数値計算 には NumPy(ナンパイ) を使うと高速になります!

✅ NumPyをインポート

import numpy as np

📌 NumPy配列を作成

# リストをNumPy配列に変換
arr = np.array([1, 2, 3, 4, 5])
print(arr)

📌 配列の演算

NumPyを使うと、配列の計算がとても簡単になります。

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])

# 足し算
print(a + b)  # [5 7 9]

# 掛け算
print(a * b)  # [ 4 10 18]

# 平均・最大・最小
print(np.mean(a))  # 2.0
print(np.max(b))   # 6
print(np.min(a))   # 1

NumPyを使うと、大規模なデータを高速に計算 できるので、機械学習の前処理にもよく使われます!


📌 6. pandasとNumPyを組み合わせる

pandasのデータフレームの中でNumPyを使うと、効率的にデータを処理できます!

✅ 例:運賃の平均より高いかどうかを判定

# 運賃(Fare)の平均値を計算
fare_mean = np.mean(df["Fare"])

# 運賃が平均より高いかどうかを判定(True / False)
df["HighFare"] = df["Fare"] > fare_mean

# 結果を確認
print(df[["Fare", "HighFare"]].head())

NumPyの計算結果をpandasのデータフレームに追加することで、データの特徴を簡単に分析 できます! 🚀


🎯 まとめ

pandasは表データ(CSVなど)を扱うのに便利!
NumPyは数値データの計算を高速に行える!
両方を組み合わせることで、効率的なデータ処理が可能!

Best regards, (^^ゞ