2025年3月6日 星期四

Python 18 小時入門--第 9 小時:資料分析(Data Analysis)

 📌 第 9 小時:資料分析(Data Analysis)

Python 是數據分析的熱門語言,提供強大的 pandas、NumPy、Matplotlib 等庫,能夠輕鬆處理資料、數值運算與視覺化數據。本章將介紹如何使用這些工具來進行 資料處理、統計計算與數據視覺化


🔹 1. pandas:資料處理的核心工具

pandas 是 Python 的 資料處理 庫,可用來處理 表格數據、CSV、Excel、JSON 等。

🟢 安裝 pandas

pip install pandas

🟢 建立 DataFrame(資料表)

import pandas as pd

data = {
    "Name": ["Alice", "Bob", "Charlie"],
    "Age": [25, 30, 35],
    "Salary": [50000, 60000, 70000]
}

df = pd.DataFrame(data)
print(df)

📌 DataFramepandas 的核心資料結構,類似 Excel 表格。


🔹 2. 讀取與存取資料

🟢 讀取 CSV

df = pd.read_csv("data.csv")
print(df.head())  # 顯示前 5 筆資料

📌 df.head(n) 顯示前 n 筆資料,df.tail(n) 顯示最後 n 筆。

🟢 讀取 Excel

df = pd.read_excel("data.xlsx")
print(df)

🟢 讀取 JSON

df = pd.read_json("data.json")
print(df)

🟢 存檔

df.to_csv("output.csv", index=False)  # 儲存為 CSV
df.to_excel("output.xlsx", index=False)  # 儲存為 Excel
df.to_json("output.json", orient="records")  # 儲存為 JSON

📌 index=False 避免存入索引欄位。


🔹 3. pandas 資料操作

🟢 基本數據摘要

print(df.info())  # 顯示資料摘要
print(df.describe())  # 顯示數值欄位的統計資訊

🟢 選取欄位

print(df["Name"])  # 取得單一欄位
print(df[["Name", "Age"]])  # 取得多個欄位

🟢 過濾數據

df_filtered = df[df["Age"] > 28]  # 取得年齡大於 28 的資料
print(df_filtered)

🟢 新增欄位

df["Bonus"] = df["Salary"] * 0.1  # 計算獎金
print(df)

🟢 刪除欄位

df.drop("Bonus", axis=1, inplace=True)  # 刪除 "Bonus" 欄位

🔹 4. NumPy:數值運算

NumPy 是 Python 的 數學計算 庫,適合進行 矩陣運算與大規模數據處理

🟢 安裝 NumPy

pip install numpy

🟢 建立陣列

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print(arr * 2)  # 所有元素 *2

🟢 建立矩陣

matrix = np.array([[1, 2, 3], [4, 5, 6]])
print(matrix)

🟢 常見數學運算

print(np.mean(arr))  # 平均值
print(np.median(arr))  # 中位數
print(np.std(arr))  # 標準差

🔹 5. Matplotlib:數據視覺化

Matplotlib 是 Python 最常用的 數據視覺化 庫,可用來製作 折線圖、長條圖、圓餅圖 等。

🟢 安裝 Matplotlib

pip install matplotlib

🟢 繪製折線圖

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 20, 15, 25, 30]

plt.plot(x, y, marker="o")
plt.xlabel("時間")
plt.ylabel("銷售額")
plt.title("每月銷售額趨勢")
plt.show()

🟢 繪製長條圖

categories = ["A", "B", "C"]
values = [100, 200, 150]

plt.bar(categories, values)
plt.xlabel("類別")
plt.ylabel("數量")
plt.title("類別比較")
plt.show()

🟢 繪製圓餅圖

labels = ["Python", "Java", "C++"]
sizes = [40, 35, 25]

plt.pie(sizes, labels=labels, autopct="%1.1f%%")
plt.title("程式語言佔比")
plt.show()

🔹 6. seaborn:高級視覺化

seaborn 是基於 Matplotlib高級數據視覺化庫,提供更美觀的圖表。

🟢 安裝 seaborn

pip install seaborn

🟢 繪製散佈圖

import seaborn as sns

df = sns.load_dataset("iris")
sns.scatterplot(x="sepal_length", y="sepal_width", hue="species", data=df)
plt.show()

🟢 繪製熱力圖

corr = df.corr()
sns.heatmap(corr, annot=True, cmap="coolwarm")
plt.show()

📌 第 9 小時小結

使用 pandas 讀取與處理 CSV、Excel、JSON 數據
篩選數據、計算統計值,增刪欄位
NumPy 提供高效數值運算,適用於數學運算與矩陣操作
Matplotlib 可視覺化數據,如折線圖、長條圖、圓餅圖
seaborn 創建更美觀的數據視覺化,如散佈圖、熱力圖

學完這一章,你已經掌握 Python 數據分析與視覺化的基礎,下一步將學習 自動化應用(Python + Excel & VBA),提升辦公效率!🚀

沒有留言:

張貼留言