| BUỔI 9: DESCRIPTIVE STATISTICS — ĐỌC HIỂU CÂU CHUYỆN CỦA NHỮNG CON SỐ

Được viết bởi thanhdt vào ngày 24/03/2026 lúc 22:07 | 42 lượt xem

Phân tích dữ liệu không chỉ là nhìn vào bảng biểu, mà là hiểu được bản chất của các con số. Thống kê mô tả giúp chúng ta tóm tắt toàn bộ khối dữ liệu khổng lồ thành vài chỉ số then chốt để đưa ra nhận định chính xác.


1️⃣ Chỉ Số Xu Hướng Trung Tâm (Central Tendency)

Giúp chúng ta trả lời câu hỏi: “Nhìn chung, dữ liệu đang tập trung vào đâu?”

  • Mean (Trung bình): Tổng giá trị chia cho số lượng phần tử. Rất nhạy cảm với các con số cực lớn hoặc cực nhỏ (Outliers).
  • Median (Trung vị): Con số đứng ở chính giữa danh sách khi đã sắp xếp. Trường hợp dữ liệu bị lệch, Trung vị phản ánh thực tế tốt hơn Trung bình.
  • Mode (Yếu vị): Giá trị xuất hiện nhiều nhất. Phù hợp cho dữ liệu phân loại (ví dụ: Thành phố nào bán chạy nhất?).
import pandas as pd

# Tính nhanh với Pandas
print(df['Doanh số'].mean())
print(df['Doanh số'].median())
print(df['Sản phẩm'].mode())

2️⃣ Độ Phân Tán (Dispersion)

Hai bộ dữ liệu có cùng số trung bình nhưng có thể hoàn toàn khác nhau về độ ổn định. Đó là lý do chúng ta cần đo lường sự phân tán.

  • Standard Deviation (Độ lệch chuẩn): Cho biết dữ liệu có bị “tản mát” xa khỏi số trung bình hay không. Độ lệch chuẩn thấp = dữ liệu ổn định.
  • Quartiles (Tứ phân vị): Chia dữ liệu làm 4 phần bằng nhau. Q1, Q2 (Median), Q3. Giúp xác định các giá trị bất thường (Outliers).

3️⃣ Phân Tích Outliers (Giá Trị Bất Thường)

Trong kinh doanh, một đơn hàng cực lớn đột xuất có thể làm sai lệch mọi dự báo. Bạn cần nhận diện chúng bằng Boxplot hoặc công thức IQR (Interquartile Range).

TỔNG KẾT BUỔI 9

Thống kê mô tả là lớp phòng thủ đầu tiên chống lại những ngộ nhận về dữ liệu. Việc hiểu rõ các chỉ số này sẽ giúp bạn giải thích được: “Tại sao doanh thu trung bình tháng này tăng nhưng thực tế hầu hết nhân viên lại không đạt KPI?”.


💡 Khám phá chiều sâu dữ liệu tại: Hướng nghiệp Python – Data Analysis

| BUỔI 8: GROUPBY VÀ AGGREGATIONS — SỨC MẠNH CỦA SỰ TỔNG HỢP

Được viết bởi thanhdt vào ngày 24/03/2026 lúc 22:06 | 38 lượt xem

Sau khi đã dọn dẹp xong dữ liệu, giờ là lúc chúng ta đi tìm những “Insight” (thông tin giá trị). Bạn muốn biết doanh thu trung bình của từng cửa hàng? Hay số lượng đơn hàng theo từng tháng? Groupby chính là công cụ mạnh mẽ nhất để làm việc này.


1️⃣ Nguyên Lý Split – Apply – Combine

Groupby hoạt động theo 3 bước: Chia dữ liệu thành các nhóm (Split) -> Áp dụng phép toán (Apply) -> Kết hợp lại thành kết quả cuối (Combine).

import pandas as pd

# Nhóm theo 'Thành phố' và tính tổng 'Doanh số'
city_sales = df.groupby('Thành phố')['Doanh số'].sum()
print(city_sales)

2️⃣ Tính Toán Nhiều Chỉ Số (Aggregations)

Bạn không chỉ muốn tính Tổng, mà còn muốn biết cả Trung bình và Giá trị lớn nhất trong cùng một truy vấn? Hàm `.agg()` sẽ giúp bạn.

# Tính đồng thời nhiều chỉ số cho cột 'Giá' theo từng 'Loại hàng'
summary = df.groupby('Loại hàng')['Giá'].agg(['sum', 'mean', 'max'])
print(summary)

3️⃣ Pivot Tables (Bảng Tổng Hợp Chéo)

Nếu bạn đã quen với Excel Pivot Table, Pandas cũng có tính năng tương tự nhưng linh hoạt hơn rất nhiều.

# Tạo bảng so sánh doanh số giữa các 'Thành phố' và các 'Quý'
pivot = df.pivot_table(values='Doanh số', index='Thành phố', columns='Quý', aggfunc='sum')

TỔNG KẾT BUỔI 8

Groupby biến hàng triệu dòng dữ liệu chi tiết thành những con số tổng quát mang tính chiến lược. Đây là kỹ năng tối quan trọng để tạo ra các báo cáo quản trị và hiểu được xu hướng của doanh nghiệp. Chúc mừng bạn đã hoàn thành phần trọng tâm về Pandas!


💡 Khám phá bí mật dữ liệu tại: Hướng nghiệp Python – Data Analysis

| BUỔI 7: DATA CLEANING VỚI PANDAS — NGHỆ THUẬT “DỌN DẸP TRƯỚC BỮA TIỆC”

Được viết bởi thanhdt vào ngày 24/03/2026 lúc 22:06 | 39 lượt xem

Người ta thường nói: “80% công việc của một Data Analyst là dọn dẹp dữ liệu”. Dữ liệu thực tế luôn bẩn: thiếu giá trị (NaN), trùng lặp, sai kiểu định dạng. Buổi học hôm nay sẽ biến bạn thành một thợ dọn dẹp dữ liệu chuyên nghiệp.


1️⃣ Xử Lý Dữ Liệu Thiếu (Missing Data)

Khi một bảng dữ liệu có những ô trống (NaN), bạn có hai lựa chọn: Xóa bỏ hoặc Lấp đầy.

# Kiểm tra số lượng giá trị thiếu
print(df.isnull().sum())

# Lựa chọn 1: Xóa toàn bộ dòng có dữ liệu thiếu
df_clean = df.dropna()

# Lựa chọn 2: Lấp đầy bằng giá trị trung bình (Hoặc số 0)
df['Tuổi'] = df['Tuổi'].fillna(df['Tuổi'].mean())

2️⃣ Dữ Liệu Trùng Lặp (Duplicates)

Dữ liệu rác (do nhập lỗi hoặc lỗi hệ thống) thường bị lặp lại nhiều lần. Hãy loại bỏ chúng để đảm bảo tính chính xác cho các thống kê sau này.

# Xem có bao nhiêu dòng bị trùng
print(df.duplicated().sum())

# Xóa các dòng trùng lặp, chỉ giữ lại dòng đầu tiên
df = df.drop_duplicates()

3️⃣ Chuyển Đổi Kiểu Dữ Liệu (Type Conversion)

Đôi khi giá số bị lưu ở dạng chuỗi văn bản, khiến bạn không thể tính toán sum hay mean. Chúng ta cần ép kiểu cho chúng.

# Chuyển cột 'Giá' từ Object (String) sang Float
df['Giá'] = df['Giá'].astype(float)

# Chuyển cột 'Ngày' sang định dạng DateTime chuẩn
df['Ngày'] = pd.to_datetime(df['Ngày'])

TỔNG KẾT BUỔI 7

“Garbage in, Garbage out” — Nếu bạn đưa dữ liệu rác vào mô hình, bạn sẽ nhận được kết quả rác. Kỹ năng dọn dẹp dữ liệu là sự khác biệt giữa một người am nghiệp và một chuyên gia phân tích thực thụ. Hãy luôn kiểm tra và làm sạch dữ liệu trước khi bắt đầu bất kỳ phân tích nào!


💡 Làm chủ dữ liệu thực chiến tại: Hướng nghiệp Python – Data Analysis

| BUỔI 6: PANDAS DATAFRAME CƠ BẢN — TRÁI TIM CỦA DATA ANALYSIS

Được viết bởi thanhdt vào ngày 24/03/2026 lúc 22:06 | 36 lượt xem

Nếu NumPy là “cơ bắp” về tính toán thì Pandas chính là “bộ não” xử lý dữ liệu. Trong buổi hôm nay, chúng ta sẽ làm quen với DataFrame — cấu trúc dữ liệu dạng bảng (giống Excel) nhưng mạnh mẽ hơn hàng ngàn lần.


1️⃣ Khởi Tạo & Đọc Dữ Liệu

Bạn không cần phải nhập tay từng dòng dữ liệu. Pandas hỗ trợ đọc hầu hết các định dạng tệp phổ biến chỉ bằng một dòng code.

import pandas as pd

# 1. Tạo từ Dictionary
data = {'Tên': ['An', 'Bình'], 'Điểm': [8.5, 9.0]}
df = pd.DataFrame(data)

# 2. Đọc từ file CSV (Phổ biến nhất)
df_csv = pd.read_csv('du_lieu_ban_hang.csv')

# 3. Đọc từ file Excel
df_excel = pd.read_excel('bao_cao_quy.xlsx')

2️⃣ Khám Phá Dữ Liệu Nhanh (Inspection)

Khi có một bảng dữ liệu khổng lồ với hàng triệu dòng, việc đầu tiên là “nhìn lướt qua” để hiểu cấu trúc.

  • df.head(): Xem 5 dòng đầu tiên.
  • df.info(): Xem kiểu dữ liệu và số lượng dòng/cột.
  • df.describe(): Xem các thống kê nhanh (trung bình, min, max,…).

3️⃣ Các Thao Tác Cơ Bản (Basic Operations)

Việc chọn lọc dữ liệu trong Pandas cực kỳ trực quan:

# Chọn 1 cột
ten_hoc_sinh = df['Tên']

# Lọc dữ liệu theo điều kiện (Ví dụ: Điểm > 8)
gioi_df = df[df['Điểm'] > 8]

# Thêm cột mới
df['Xếp loại'] = 'Đạt'

TỔNG KẾT BUỔI 6

Pandas DataFrame là công cụ không thể thiếu của bất kỳ Data Scientist nào. Khi đã hiểu cách đọc và khám phá dữ liệu, bạn đã hoàn thành 50% chặng đường phân tích. Ở buổi tiếp theo, chúng ta sẽ học cách “dọn dẹp” đống dữ liệu thối để chúng trở nên sáng lóng lánh!


🚀 Nâng tầm kỹ năng phân tích tại: Hướng nghiệp Python – Data Analysis

| BUỔI 4: IMPORT VÀ QUẢN LÝ PACKAGES — SỬ DỤNG SỨC MẠNH CỘNG ĐỒNG

Được viết bởi thanhdt vào ngày 24/03/2026 lúc 21:50 | 44 lượt xem

Hôm nay chúng ta sẽ học cách “đứng trên vai những người khổng lồ”. Python mạnh mẽ không chỉ bởi cú pháp, mà bởi hàng triệu thư viện (packages) do cộng đồng đóng góp. Bạn không cần tự viết mã để vẽ biểu đồ hay tính toán ma trận, chỉ cần Import chúng!


1️⃣ Cách Import Thư Viện

Để sử dụng một thư viện, bạn dùng từ khóa import. Bạn cũng có thể đặt tên viết tắt (`alias`) để code ngắn gọn hơn.

import math
print(math.sqrt(16)) # Căn bậc hai: 4.0

import datetime as dt
print(dt.datetime.now()) # Lấy thời gian hiện tại

2️⃣ Quản Lý Package Với PIP

Nếu thư viện chưa có sẵn trong máy, chúng ta dùng PIP để tải về từ kho tàng khổng lồ PyPI.

  • Cài đặt: pip install pandas
  • Cập nhật: pip install --upgrade pandas
  • Gỡ bỏ: pip uninstall pandas

3️⃣ File Requirements.txt

Khi làm dự án thực tế, bạn sẽ dùng rất nhiều thư viện. Để người khác (hoặc máy chủ) có thể chạy được code của bạn, hãy liệt kê tất cả vào file requirements.txt.

# Lệnh tự động tạo file requirements
pip freeze > requirements.txt

# Lệnh cài đặt toàn bộ thư viện từ file đó
pip install -r requirements.txt

TỔNG KẾT BUỔI 4

Biết cách quản lý package giúp bạn duy trì dự án một cách chuyên nghiệp và dễ dàng chia sẻ với đồng nghiệp. Đây cũng là buổi cuối cùng của phần Python Cơ Bản. Chúc mừng bạn!

Từ buổi 5, chúng ta sẽ chính thức bước vào thế giới Dữ Liệu Khổng Lồ với NumPy và Pandas. Hãy sẵn sàng nhé!


💡 Theo dõi lộ trình học tập tại: Hướng nghiệp Python – Data Analysis

| BUỔI 3: LÀM VIỆC VỚI LISTS VÀ DICTIONARIES — QUẢN LÝ DỮ LIỆU THÔNG MINH

Được viết bởi thanhdt vào ngày 24/03/2026 lúc 21:50 | 37 lượt xem

Chào mừng bạn quay trở lại! Trong phân tích dữ liệu, hiếm khi chúng ta làm việc với một con số đơn lẻ. Chúng ta làm việc với danh sách khách hàng, bảng giá chứng khoán hay thông tin sản phẩm. Đó là lúc ListsDictionaries tỏa sáng.


1️⃣ List (Danh Sách) – Sắp Xếp Theo Thứ Tự

List giống như một danh sách việc cần làm, nơi các phần tử được sắp xếp và có thể thay đổi.

fruits = ["Táo", "Cam", "Xoài"]
fruits.append("Nho") # Thêm phần tử
print(fruits[0]) # Lấy phần tử đầu tiên: "Táo"

2️⃣ Dictionary (Từ Điển) – Cặp Key-Value

Dictionary là cách lưu trữ dữ liệu theo cặp Khóa – Giá trị. Cực kỳ hữu dụng để lưu trữ thông tin đối tượng (như profile người dùng).

user = {
    "name": "Thanh",
    "job": "Data Analyst",
    "exp": 5
}
print(user["job"]) # Kết quả: Data Analyst

3️⃣ List Comprehensions – Kỹ Thuật Viết Code “Sạch”

Đây là đặc sản của Python, giúp bạn tạo ra một list mới từ list cũ chỉ với 1 dòng code duy nhất.

numbers = [1, 2, 3, 4, 5]

# Tạo list bình phương của các số (Cách thông thường)
squares = []
for n in numbers:
    squares.append(n**2)

# Cách Pythonic (List Comprehension)
squares_fast = [n**2 for n in numbers]

print(squares_fast) # [1, 4, 9, 16, 25]

TỔNG KẾT BUỔI 3

Lists và Dictionaries là bộ khung của hầu hết các ứng dụng Python. Hiểu rõ cách truy xuất và biến đổi chúng sẽ giúp bạn xử lý dữ liệu thô một cách mượt mà trước khi đưa vào các thư viện phân tích chuyên sâu như Pandas.


💡 Khám phá lộ trình chuyên sâu tại: Hướng nghiệp Python – Data Analysis

| BUỔI 2: CÚ PHÁP PYTHON CƠ BẢN — NỀN TẢNG CỦA LẬP TRÌNH HIỆN ĐẠI

Được viết bởi thanhdt vào ngày 24/03/2026 lúc 21:50 | 41 lượt xem

Chào mừng bạn quay trở lại! Sau khi đã có môi trường làm việc ở Buổi 1, hôm nay chúng ta sẽ bắt đầu học “ngôn ngữ” của Python. Đây là nền tảng cốt yếu nhất để bạn có thể ra lệnh cho máy tính xử lý dữ liệu theo ý mình.


1️⃣ Biến Và Kiểu Dữ Liệu (Variables & Types)

Biến là những “chiếc hộp” dùng để lưu trữ thông tin. Python rất thông minh, bạn không cần khai báo kiểu dữ liệu, nó sẽ tự hiểu.

# Các kiểu dữ liệu cơ bản
name = "Antigravity"  # String (Chuỗi)
age = 25              # Integer (Số nguyên)
score = 9.5           # Float (Số thực)
is_active = True      # Boolean (Đúng/Sai)

print(f"Chào {name}, bạn {age} tuổi.")

2️⃣ Cấu Trúc Điều Khiển (Conditionals & Loops)

Đây là bộ não giúp chương trình đưa ra quyết định hoặc thực hiện các công việc lặp đi lặp lại.

  • If-Else: Ra quyết định.
  • For Loop: Lặp qua một danh sách dữ liệu.
# Kiểm tra điều kiện
if score >= 8:
    print("Học lực: Giỏi")
else:
    print("Học lực: Khá/Trung bình")

# Vòng lặp
for i in range(5):
    print(f"Lần lặp thứ {i}")

3️⃣ Hàm (Functions) – Tái Sử Dụng Mã Nguồn

Thay vì viết đi viết lại một đoạn code, hãy đóng gói nó vào một cái tên gọi là Hàm.

def tinh_tong(a, b):
    return a + b

ket_qua = tinh_tong(10, 20)
print(f"Tổng là: {ket_qua}")

TỔNG KẾT BUỔI 2

Nắm vững cú pháp cơ bản giống như việc học bảng chữ cái. Khi đã thành thạo, bạn sẽ thấy Python cực kỳ dễ đọc và gần gũi với ngôn ngữ con người. Ở buổi tới, chúng ta sẽ học cách quản lý những bộ dữ liệu lớn hơn với Lists và Dictionaries!


💡 Xem trọn bộ giáo trình tại: Hướng nghiệp Python – Data Analysis

| BUỔI 1: CÀI ĐẶT PYTHON VÀ JUPYTER NOTEBOOK — BƯỚC CHÂN ĐẦU TIÊN VÀO THẾ GIỚI LẬP TRÌNH

Được viết bởi thanhdt vào ngày 24/03/2026 lúc 21:30 | 38 lượt xem

Chào mừng bạn đến với hành trình chinh phục dữ liệu! Để bắt đầu xây dựng những mô hình dự báo hay dashboard chuyên nghiệp, việc đầu tiên và quan trọng nhất là thiết lập một Môi trường phát triển (Development Environment) chuẩn xác. Buổi học hôm nay sẽ giúp bạn đặt những viên gạch vững chắc nhất.

[!IMPORTANT]
🚀 Nội dung này thuộc chương mở đầu của: Khóa học Phân tích dữ liệu thực chiến với Python


1️⃣ Cài Đặt Python & Jupyter Notebook

Python là ngôn ngữ, còn Jupyter Notebook là “cuốn sổ tay” thông minh giúp bạn vừa viết code, vừa hiển thị kết quả phân tích và biểu đồ ngay lập tức.

  • Bước 1: Tải Python tại python.org. Lưu ý tích chọn “Add Python to PATH” khi cài đặt.
  • Bước 2: Cài đặt Jupyter thông qua Command Prompt hoặc Terminal bằng lệnh:
    bash
    pip install jupyter
  • Bước 3: Khởi chạy Jupyter bằng lệnh jupyter notebook. Một trang web sẽ hiện ra, nơi bạn có thể bắt đầu code những dòng đầu tiên!

2️⃣ Quản Lý Thư Viện Với PIP

PIP là công cụ giúp bạn cài đặt thêm các “siêu năng lượng” cho Python (như thư viện tính toán NumPy, xử lý bảng Pandas,…).

Các lệnh PIP phổ biến bạn cần nhớ:
pip install <tên_thư_viện>: Cài đặt thư viện mới.
pip list: Xem danh sách các thư viện đã cài.
pip uninstall <tên_thư_viện>: Gỡ bỏ thư viện.


3️⃣ Môi Trường Ảo (Virtual Environments)

Hãy tưởng tượng bạn đang làm 10 dự án khác nhau. Có dự án cần thư viện cũ, có dự án cần thư viện mới nhất. Virtual Environment giúp bạn tạo ra các “phòng thí nghiệm” riêng biệt, không để dự án này làm hỏng dự án kia.

Cách thiết lập môi trường ảo:
1. Tạo môi trường ảo (tên là env):
bash
python -m venv env

2. Kích hoạt môi trường (Windows):
bash
.\env\Scripts\activate

3. Sau khi kích hoạt, mọi thư viện bạn cài bằng pip sẽ chỉ nằm gọn trong túi ảo này, cực kỳ ngăn nắp và an toàn cho máy tính của bạn.


TỔNG KẾT BUỔI 1

Bạn đã hoàn thành việc xây dựng “phòng làm việc” cho mình. Dù trông có vẻ đơn giản, nhưng việc hiểu rõ cách quản lý môi trường và thư viện sẽ giúp bạn tránh được 90% lỗi vặt trong tương lai khi làm việc với các dự án dữ liệu lớn.

Hẹn gặp lại bạn ở buổi tiếp theo, nơi chúng ta sẽ học những dòng code Python đầu tiên!


💡 Bắt đầu hành trình nghề nghiệp mới tại: Hướng nghiệp Python – Data Analysis

| BUỔI 14: DASHBOARD VỚI STREAMLIT — BIẾN DỮ LIỆU THÀNH ỨNG DỤNG WEB TRONG 5 PHÚT

Được viết bởi thanhdt vào ngày 24/03/2026 lúc 21:19 | 43 lượt xem

Chào mừng các bạn đến với buổi học thứ 14. Sau khi đã làm chủ việc phân tích dữ liệu với Pandas và trực quan hóa với Matplotlib/Seaborn, thách thức tiếp theo là làm sao để chia sẻ những kết quả đó một cách chuyên nghiệp. Hôm nay, chúng ta sẽ học cách sử dụng Streamlit — thư viện Python mạnh mẽ nhất hiện nay để xây dựng các Dashboard dữ liệu (Web Apps) mà không cần biết HTML, CSS hay JavaScript.

[!IMPORTANT]
🚀 Bài học này là một phần quan trọng trong lộ trình: Khóa học Phân tích dữ liệu thực chiến với Python


1️⃣ Tại Sao Lại Là Streamlit?

Trong quá khứ, để tạo một ứng dụng web phân tích dữ liệu, bạn cần một team gồm Data Scientist và Web Developer. Với Streamlit, bạn chỉ cần Python.

  • Dễ học: Viết code giống như viết script Python thông thường.
  • Tương tác cao: Hỗ trợ các widget như slider, button, checkbox chỉ với 1 dòng code.
  • Triển khai nhanh: Tự động cập nhật ứng dụng ngay sau khi bạn lưu file code.

2️⃣ Xây Dựng Ứng Dụng Đầu Tiên

Để bắt đầu, bạn cần cài đặt qua pip: pip install streamlit. Dưới đây là cấu trúc cơ bản của một ứng dụng Dashboard:

import streamlit as st
import pandas as pd
import numpy as np

# Tiêu đề ứng dụng
st.title("My First Data Dashboard")

# Hiển thị văn bản
st.write("Chào mừng bạn đã đến với Dashboard phân tích dữ liệu với Streamlit!")

# Tạo một bảng dữ liệu mẫu
df = pd.DataFrame(
    np.random.randn(10, 2),
    columns=['Giá Vàng', 'Giá Bitcoin']
)

# Hiển thị bảng
st.table(df)

# Hiển thị biểu đồ đường
st.line_chart(df)

3️⃣ Tương Tác Với Người Dùng (Widgets)

Sức mạnh của Dashboard nằm ở khả năng tương tác. Streamlit cung cấp các hàm cực kỳ đơn giản để nhận input từ người dùng:

# Tạo một thanh trượt (slider)
lucky_number = st.sidebar.slider("Chọn con số may mắn của bạn", 0, 100, 50)

# Hiển thị kết quả dựa trên slider
st.write(f"Con số bạn đã chọn là: {lucky_number}")

# Tạo nút nhấn
if st.button("Nhấn vào đây!"):
    st.balloons() # Hiệu ứng bóng bay
    st.success("Bạn đã nhấn nút thành công!")

TỔNG KẾT BUỔI 14

Streamlit đã xóa bỏ ranh giới giữa Phân tích dữ liệu và Phát triển Web. Từ nay, mọi báo cáo của bạn sẽ không còn nằm im trên các file Excel hay Jupyter Notebook khô khan, mà sẽ trở thành những ứng dụng web sống động, có khả năng tương tác và truyền cảm hứng.

Trong buổi tiếp theo, chúng ta sẽ học cách Deploy (đưa Dashboard này lên Internet) để ai cũng có thể truy cập được.


💡 Khám phá cách biến dữ liệu thành giá trị tại: Hướng nghiệp Python – Data Analysis

| BUỔI 5: NUMPY ARRAYS VÀ OPERATIONS — SỨC MẠNH CỦA TÍNH TOÁN MA TRẬN

Được viết bởi thanhdt vào ngày 24/03/2026 lúc 17:10 | 55 lượt xem

Chào mừng các bạn đến với buổi học thứ 5 trong lộ trình chinh phục dữ liệu với Python. Sau khi đã làm quen với các kiểu dữ liệu cơ bản, hôm nay chúng ta sẽ bước vào thế giới của NumPy (Numerical Python) — thư viện nền tảng cho mọi tính toán khoa học và phân tích dữ liệu chuyên nghiệp.

[!IMPORTANT]
🚀 Bài học này nằm trong chuỗi kiến thức chuyên sâu của: Khóa học Phân tích dữ liệu thực chiến với Python


1️⃣ Khởi Tạo Mảng (Array Creation)

NumPy Array (ndarray) vượt trội hơn Python List nhờ tốc độ xử lý cực nhanh và tiết kiệm bộ nhớ. Chúng ta có nhiều cách để tạo ra một “ma trận” dữ liệu:

import numpy as np

# Tạo từ list
arr = np.array([1, 2, 3, 4, 5])

# Tạo mảng toàn số 0 hoặc số 1
zeros = np.zeros((3, 3)) # Ma trận 3x3 toàn số 0
ones = np.ones((2, 5))   # Ma trận 2x5 toàn số 1

# Tạo mảng theo phạm vi
range_arr = np.arange(0, 10, 2) # [0, 2, 4, 6, 8]

2️⃣ Truy Xuất Phần Tử (Indexing & Slicing)

Truy xuất dữ liệu trong NumPy cực kỳ linh hoạt, tương tự như list nhưng hỗ trợ đa chiều mạnh mẽ hơn.

  • Indexing: Truy cập phần tử cụ thể bằng chỉ số (bắt đầu từ 0).
  • Slicing: Cắt mảng để lấy ra một vùng dữ liệu mong muốn.
data = np.array([[10, 20, 30], [40, 50, 60]])

# Lấy phần tử hàng 0, cột 1
print(data[0, 1]) # Kết quả: 20

# Cắt lấy toàn bộ cột thứ 2
print(data[:, 1]) # Kết quả: [20, 50]

3️⃣ Phép Toán Ma Trận (Mathematical Operations)

Sức mạnh thực sự của NumPy nằm ở Vectorization — cho phép thực hiện các phép toán trên toàn bộ mảng mà không cần dùng vòng lặp `for` chậm chạp.

  • Phép toán vô hướng: Cộng, trừ, nhân, chia một hằng số cho mọi phần tử.
  • Phép toán giữa các mảng: Tính toán tương ứng theo từng vị trí (element-wise).
  • Hàm thống kê: np.sum(), np.mean(), np.std(),…
a = np.array([1, 2, 3])
b = np.array([10, 20, 30])

# Cộng hai mảng
print(a + b) # [11, 22, 33]

# Nhân bình phương
print(a ** 2) # [1, 4, 9]

# Tính trung bình cộng
print(np.mean(b)) # 20.0

TỔNG KẾT BUỔI 5

Làm chủ được NumPy Array là bạn đã nắm giữ chiếc chìa khóa đầu tiên để mở cánh cửa Data Science. Tốc độ và sự linh hoạt của ndarray sẽ giúp chúng ta xử lý hàng triệu dòng dữ liệu chỉ trong tích tắc ở các buổi học về Pandas tiếp theo.

Hãy thực hành ngay các ví dụ trên để ghi nhớ sâu hơn nhé!


💡 Khám phá lộ trình từ Zero đến Hero về dữ liệu tại: Hướng nghiệp Python – Data Analysis