📌 第 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)
📌 DataFrame
是 pandas
的核心資料結構,類似 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),提升辦公效率!🚀
沒有留言:
張貼留言