| BUỔI 4: WAIT STRATEGIES — BÍ QUYẾT GIÚP SCRIPT “LÌ ĐÒN” TRƯỚC MỌI TỐC ĐỘ MẠNG

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

Bạn đã bao giờ viết xong một script chạy rất tốt ở nhà nhưng khi mang lên công ty (với mạng chậm hơn) thì lại báo lỗi NoSuchElementException? Đó là vì bạn chưa làm chủ kỹ thuật Chờ đợi (Wait Strategies). Buổi học hôm nay sẽ giúp script của bạn trở nên thông minh và kiên nhẫn hơn.


1️⃣ Tại Sao Cần Chờ Đợi?

Trang web hiện đại sử dụng AJAX và JavaScript để tải nội dung một cách bất đồng bộ. Selenium chạy code Python nhanh hơn tốc độ hiển thị của trình duyệt, dẫn đến việc nó cố gắng tương tác với một thứ chưa kịp xuất hiện.


2️⃣ Explicit Wait & Implicit Wait

Hãy bỏ ngay thói quen dùng time.sleep() vì nó làm script của bạn chậm đi một cách lãng phí. Thay vào đó hãy dùng các chiến lược chờ đợi thông minh hơn:

  • Implicit Wait: Thiết lập một lần duy nhất, Selenium sẽ tự động chờ trong X giây cho mọi phần tử trước khi báo lỗi.
  • Explicit Wait (Khuyên dùng): Chỉ chờ cho một phần tử cụ thể với một điều kiện cụ thể (ví dụ: chờ cho đến khi nút Đăng nhập có thể click được).
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# Ví dụ Explicit Wait: Chờ tối đa 10 giây cho đến khi ID 'success-msg' hiện ra
wait = WebDriverWait(driver, 10)
message = wait.until(EC.visibility_of_element_located((By.ID, "success-msg")))

3️⃣ Xử Lý Lỗi Và Ngoại Lệ (Error Handling)

Script Automation của bạn không được phép “chết” giữa chừng chỉ vì một lỗi nhỏ. Hãy sử dụng khối try-except để bắt lỗi và xử lý chúng một cách êm đẹp.

try:
    # Code tương tác
    driver.find_element(By.ID, "promo-code").send_keys("SALE50")
except Exception as e:
    print(f"Lỗi: {e}. Đang thực hiện phương án dự phòng...")
    # Chụp ảnh màn hình lỗi để debug sau này
    driver.save_screenshot("error.png")

TỔNG KẾT BUỔI 4

Chúc mừng bạn đã hoàn thành Module 1 về Selenium! Giờ đây bạn đã có đủ công cụ để xây dựng các robot điều khiển trình duyệt chuyên nghiệp, ổn định và có khả năng tự phục hồi khi gặp lỗi. Trong Module 2, chúng ta sẽ học một cách lấy dữ liệu web nhanh hơn gấp nhiều lần với Beautiful Soup!


🛡️ Bảo mật và ổn định hạ tầng tự động hóa tại: Hướng nghiệp Python – Automation

| BUỔI 3: USER INTERACTIONS — MÔ PHỎNG MỌI THAO TÁC CỦA CON NGƯỜI

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

Sau khi đã biết cách tìm phần tử ở Buổi 2, hôm nay chúng ta sẽ học cách “điều khiển” chúng. Selenium có thể bắt chước 99% hành động của một người dùng thực thụ: từ những cú click chuột đơn giản đến việc điền form hay tải những tập tin quan trọng.


1️⃣ Click, Gõ Phím & Gửi Form

Đây là những tương tác cơ bản nhất nhưng lại xuất hiện trong mọi script automation.

# Nhập văn bản
element.send_keys("Thông tin cần nhập")

# Xóa văn bản cũ rồi mới nhập
element.clear()
element.send_keys("Thông tin mới")

# Click chuột
button.click()

# Gửi form (nhấn Enter)
element.submit()

2️⃣ Xử Lý Dropdown (Danh Sách Thả Xuống)

Với các thẻ <select>, chúng ta không dùng click thông thường mà sử dụng lớp hỗ trợ Select của Selenium để chọn theo tên, giá trị hoặc chỉ số.

from selenium.webdriver.support.ui import Select

select = Select(driver.find_element(By.ID, "city-select"))
select.select_by_visible_text("Hà Nội")

3️⃣ Upload File Tự Động

Nhiều bạn thường bị kẹt ở bước này vì cửa sổ chọn file của Windows không thuộc quyền kiểm soát của Selenium. Bí quyết cực đơn giản: Hãy send_keys đường dẫn tuyệt đối của file vào thẻ input!

# Upload ảnh
upload_input = driver.find_element(By.XPATH, "//input[@type='file']")
upload_input.send_keys("C:/data/image.png")

TỔNG KẾT BUỔI 3

Thao tác thành thạo các tương tác người dùng giúp script của bạn trở nên sống động và linh hoạt. Tuy nhiên, tốc độ của máy tính nhanh hơn trình duyệt rất nhiều, dẫn đến lỗi “không tìm thấy phần tử”. Ở buổi 4, chúng ta sẽ học bí thuật Wait Strategies để script luôn chạy ổn định dù mạng lag hay web chậm!


🤖 Tự động hóa thông minh cùng: Hướng nghiệp Python – Automation

| BUỔI 2: LOCATING ELEMENTS — CÁCH NHẮM MỤC TIÊU CHÍNH XÁC TRÊN TRANG WEB

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

Làm thế nào để Selenium biết cần phải click vào nút nào giữa hàng nghìn thẻ HTML? Đó là lúc bạn cần đến kỹ năng Locating Elements. Đây là kỹ năng quan trọng nhất của một chuyên gia Automation: Tìm đúng — Click trúng.


1️⃣ Các Phương Thức Tìm Kiếm Cơ Bản

Selenium cung cấp nhiều cách để “chỉ điểm” một phần tử thông qua thuộc tính của nó.

  • ID: Sạch sẽ và nhanh nhất (vì ID là duy nhất). By.ID
  • Name: Thường dùng cho các ô nhập liệu trong Form. By.NAME
  • Class Name: Dùng khi muốn tìm các nhóm phần tử giống nhau. By.CLASS_NAME

2️⃣ Sức Mạnh Của XPath & CSS Selectors

Khi các thuộc tính cơ bản không đủ, chúng ta cần đến những “vũ khí hạng nặng” có khả năng len lỏi vào từng ngóc ngách của mã nguồn HTML.

  • XPath: Cực kỳ linh hoạt, có thể tìm ngược lên cha hoặc xuống con.
  • Ví dụ: //button[text()='Đăng nhập']
  • CSS Selectors: Tốc độ nhanh hơn và cú pháp gọn gàng hơn XPath trong nhiều trường hợp.
  • Ví dụ: .submit-button > span

3️⃣ Thực Hành: Soi Mã Nguồn Với F12

Bí quyết để viết code Automation giỏi không nằm ở Python, mà nằm ở việc bạn thạo công cụ Inspect Element (F12) của trình duyệt. Hãy học cách copy XPath hoặc CSS Selector một cách thông minh để script của bạn luôn ổn định.

# Ví dụ tìm phần tử bằng XPath
login_btn = driver.find_element(By.XPATH, "//button[@id='login']")
login_btn.click()

TỔNG KẾT BUỔI 2

Xác định đúng phần tử chiếm 70% thành công của một dự án Automation. Khi bạn đã “nhắm” được mục tiêu, việc ra lệnh tiếp theo sẽ trở nên vô cùng đơn giản. Trong buổi 3, chúng ta sẽ học cách thực hiện các tương tác phức tạp hơn như kéo thả, chọn dropdown hay tải file!


🎯 Tối ưu hóa quy trình làm việc tại: Hướng nghiệp Python – Automation

| BUỔI 1: CÀI ĐẶT SELENIUM VÀ WEBDRIVER — KHIẾN TRÌNH DUYỆT TỰ CHẠY THEO Ý BẠN

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

Chào mừng bạn đến với thế giới của Tự động hóa! Bạn có bao giờ mệt mỏi khi phải lặp đi lặp lại việc đăng nhập, kiểm tra giá hay tải file hàng ngày? Selenium chính là vị cứu tinh giúp bạn “điều khiển” trình duyệt thực hiện mọi thao tác đó một cách tự động 100%.


1️⃣ Selenium & WebDriver Là Gì?

Hãy tưởng tượng Selenium là bộ não, còn WebDriver là cánh tay robot trực tiếp cầm chuột và bàn phím để điều khiển Chrome, Firefox hay Edge của bạn.

[!IMPORTANT]
🚀 Bài học này nằm trong lộ trình: Khóa học Python Automation thực chiến


2️⃣ Các Bước Cài Đặt Ban Đầu

Để bắt đầu, chúng ta cần cài đặt thư viện Selenium và tải Driver tương ứng với phiên bản trình duyệt đang dùng.

  1. Cài đặt thư viện:
    bash
    pip install selenium
  2. Tải WebDriver: Ví dụ nếu dùng Chrome, bạn cần tải ChromeDriver. Hiện tại Selenium 4 đã hỗ trợ tự động quản lý Driver, giúp bạn rảnh tay hơn rất nhiều!

3️⃣ Viết Script Tự Động Hóa Đầu Tiên

Hãy thử mở Google và tìm kiếm một từ khóa bất kỳ hoàn toàn tự động nhé:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time

# Khởi tạo trình duyệt Chrome
driver = webdriver.Chrome()

# Truy cập trang web
driver.get("https://www.google.com")

# Tìm ô tìm kiếm và nhập nội dung
search_box = driver.find_element(By.NAME, "q")
search_box.send_keys("Hướng nghiệp Python Automation")
search_box.send_keys(Keys.RETURN)

# Chờ 5 giây để xem kết quả
time.sleep(5)

# Đóng trình duyệt
driver.quit()

TỔNG KẾT BUỔI 1

Bạn đã vừa thực hiện một bước tiến lớn: Khiến máy tính tự vận hành trình duyệt thay mình. Dù script này còn đơn giản, nhưng đây chính là nền móng để bạn xây dựng những hệ thống tự động hóa phức tạp hơn như săn sale, lấy dữ liệu hay kiểm thử phần mềm.

Hẹn gặp bạn ở buổi 2, nơi chúng ta sẽ học cách “nhắm mục tiêu” chính xác từng nút bấm trên trang web!


💡 Khởi đầu sự nghiệp tự động hóa tại: Hướng nghiệp Python – Automation

| BUỔI 16: PRESENTATION VÀ STORYTELLING — NGHỆ THUẬT KỂ CHUYỆN BẰNG DỮ LIỆU

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

Đây là buổi học cuối cùng. Bạn có thể là một chuyên gia kỹ thuật giỏi, nhưng nếu không thể truyền đạt được giá trị của dữ liệu cho sếp hay khách hàng, thì mọi phân tích đều trở nên vô nghĩa. Hôm nay, chúng ta sẽ học cách biến những con số khô khan thành những Câu chuyện (Insights) đầy sức thuyết phục.


1️⃣ Đừng Chỉ “Báo Cáo”, Hãy “Kể Chuyện”

Thay vì nói: “Doanh thu tăng 10%”, hãy nói: “Nhờ chiến dịch quảng cáo vào khung giờ vàng 19h, chúng ta đã thu hút thêm 500 khách hàng mới, giúp doanh thu tăng trưởng 10%”.

  • Context (Bối cảnh): Vấn đề chúng ta đang gặp phải là gì?
  • Conflict (Mâu thuẫn): Dữ liệu đang cho thấy điều gì bất thường?
  • Solution (Giải pháp): Chúng ta cần hành động gì để giải quyết?

2️⃣ Thiết Kế Dashboard “Biết Nói”

Một Dashboard tốt không phải là nhồi nhét thật nhiều biểu đồ. Một Dashboard tốt là chỉ tập trung vào các chỉ số KPI quan trọng nhất, giúp người xem nhìn thấy ngay vấn đề chỉ trong 5 giây.


3️⃣ Kỹ Năng Thuyết Trình Insight

Học cách trả lời các câu hỏi hóc búa từ ban lãnh đạo, bảo vệ luận điểm phân tích của mình dựa trên bằng chứng dữ liệu xác thực.


LỜI KẾT KHÓA HỌC

Chúc mừng bạn đã hoàn thành trọn bộ 16 buổi học của lộ trình Python Data Analysis. Bạn đã đi từ một người chưa biết gì đến việc có thể xử lý hàng triệu dòng dữ liệu và xây dựng những Dashboard chuyên nghiệp.

Hành trình dữ liệu là một chặng đường dài, hãy luôn giữ vững sự tò mò và tinh thần học hỏi. Chúc bạn gặt hái được nhiều thành công rực rỡ trên con đường sự nghiệp sắp tới!


🎓 Chứng nhận và hỗ trợ nghề nghiệp tại: Hướng nghiệp Python – Data Analysis

| BUỔI 15: DỰ ÁN THỰC TẾ — PHÂN TÍCH DỮ LIỆU BÁN HÀNG TỪ A-Z

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

Chúc mừng bạn đã đi đến chặng đường cuối cùng! Hôm nay không còn là những ví dụ rời rạc, chúng ta sẽ bắt tay vào một dự án thực tế: Phân tích bộ dữ liệu bán hàng của một doanh nghiệp trong 1 năm. Đây là cơ hội để bạn tổng hợp toàn bộ kỹ năng từ NumPy, Pandas đến Visualization.


1️⃣ Đề Bài & Quy Trình Xử Lý

Bạn được cấp 12 file CSV tương ứng với 12 tháng bán hàng. Nhiệm vụ của bạn là:

  1. Gộp dữ liệu: Nối 12 file thành 1 DataFrame duy nhất.
  2. Làm sạch: Xử lý giá trị trống, xóa dòng trùng, sửa kiểu dữ liệu ngày tháng.
  3. Mở rộng: Tạo thêm các cột “Thành phố”, “Giờ đặt hàng”, “Lợi nhuận”.

2️⃣ Trả Lời Các Câu Hỏi Kinh Doanh

Dữ liệu phải nói lên được giải pháp. Chúng ta sẽ cùng nhau đi tìm câu trả lời cho:

  • Doanh thu: Tháng nào có doanh thu cao nhất? Tại sao?
  • Vùng miền: Thành phố nào tiêu thụ hàng nhiều nhất?
  • Thời điểm: Giờ nào khách hàng hay đặt mua nhất? (Để tối ưu quảng cáo).
  • Sản phẩm: Cặp sản phẩm nào hay được mua cùng nhau nhất? (Để làm combo khuyến mãi).

3️⃣ Xây Dựng Báo Cáo Cuối Khóa

Sử dụng kết hợp biểu đồ Seaborn và Plotly để tạo ra một bản báo cáo hoàn chỉnh, súc tích và giàu sức thuyết phục.

TỔNG KẾT BUỔI 15

Dự án này là minh chứng cho năng lực của bạn. Khi tự tay giải quyết được bài toán này, bạn đã sẵn sàng để ứng tuyển vào các vị trí Data Analyst hoặc áp dụng trực tiếp vào công việc kinh doanh của riêng mình.


🏆 Hoàn thành dự án thực tế tại: Hướng nghiệp Python – Data Analysis

| BUỔI 13: CUSTOMIZING VÀ STYLING CHARTS — TRANG ĐIỂM CHO DỮ LIỆU

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

Một biểu đồ đúng thôi là chưa đủ, nó cần phải ĐẹpDễ hiểu. Buổi học hôm nay sẽ hướng dẫn bạn cách tùy biến màu sắc, font chữ, thêm các mốc chú thích quan trọng để biến một biểu đồ thô thành một tác phẩm nghệ thuật chuyên nghiệp.


1️⃣ Làm Chủ Màu Sắc (Color Palettes)

Màu sắc không chỉ để trang trí, nó dùng để phân loại và nhấn mạnh. Hãy học cách dùng bảng màu (Palettes) chuẩn để không gây mỏi mắt cho người xem.

  • Diverging: Dùng cho dữ liệu có điểm trung tâm (ví dụ: Lỗ – Lãi).
  • Sequential: Dùng cho dữ liệu tăng dần (ví dụ: Mật độ dân số).

2️⃣ Chú Thích Thông Minh (Annotations)

Đừng để người xem phải tự tìm xem “điểm cao nhất là bao nhiêu”. Hãy vẽ một mũi tên và ghi chú trực tiếp vào đó (Annotations). Đây là cách bạn hướng dẫn người xem đi đến kết luận nhanh nhất.

plt.annotate('Đỉnh doanh thu!', xy=(3, 200), xytext=(4, 250),
             arrowprops=dict(facecolor='black', shrink=0.05))

3️⃣ Themes & Template Chuyên Nghiệp

Sử dụng các Styles có sẵn như `ggplot`, `fivethirtyeight` hay `dark_background` để ngay lập tức có được giao diện biểu đồ như các tờ báo kinh tế hàng đầu thế giới.

TỔNG KẾT BUỔI 13

Biểu đồ chính là “bộ mặt” của người phân tích dữ liệu. Một biểu đồ được chăm chút kỹ lưỡng sẽ tạo dựng niềm tin tuyệt đối với sếp và đối tác về tính chính xác và sự chuyên nghiệp của thông tin bạn đưa ra.


✨ Nghệ thuật trình bày dữ liệu tại: Hướng nghiệp Python – Data Analysis

| BUỔI 12: PLOTLY INTERACTIVE CHARTS — ĐƯA BIỂU ĐỒ LÊN MỘT TẦM CAO MỚI

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

Nếu Matplotlib và Seaborn tạo ra các bức ảnh tĩnh, thì Plotly tạo ra những trải nghiệm tương tác. Với Plotly, người dùng có thể sờ, chạm, phóng to (zoom), thu nhỏ và di chuột để xem chi tiết từng điểm dữ liệu ngay trên trình duyệt web.


1️⃣ Biểu Đồ Tương Tác (Interactive Plots)

Plotly giúp bạn tạo ra những biểu đồ mà người xem có thể tự do khám phá. Cực kỳ phù hợp cho các báo cáo trực tuyến hoặc gửi cho khách hàng.

import plotly.express as px

# Tải dữ liệu mẫu
df = px.data.iris()

# Vẽ biểu đồ Scatter tương tác
fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species",
                 title="Biểu đồ tương tác Iris với Plotly")
fig.show() # Mở trên trình duyệt

2️⃣ Đồ Họa 3D Siêu Thực (3D Visualizations)

Khi bạn có 3 biến số quan trọng và muốn xem sự tương quan giữa chúng trong không gian, biểu đồ 3D của Plotly sẽ mang lại cái nhìn trực quan nhất.

fig = px.scatter_3d(df, x='sepal_length', y='sepal_width', z='petal_width',
                    color='species')
fig.show()

3️⃣ Biểu Đồ Bản Đồ (Maps)

Plotly hỗ trợ cực tốt cho dữ liệu địa lý. Bạn có thể vẽ doanh thu theo từng tỉnh thành hoặc quốc gia trên bản đồ thế giới chỉ với tọa độ hoặc tên vùng.

TỔNG KẾT BUỔI 12

Plotly biến những con số vô tri thành một “sản phẩm công nghệ” thực thụ. Việc sử dụng biểu đồ tương tác không chỉ giúp báo cáo của bạn hiện đại hơn, mà còn cho phép người xem tự tìm ra câu trả lời cho riêng họ bằng cách thao tác trực tiếp trên dữ liệu.


🌐 Trải nghiệm tương tác dữ liệu tại: Hướng nghiệp Python – Data Analysis

| BUỔI 11: ADVANCED PLOTTING VỚI SEABORN — TRỰC QUAN HÓA THỐNG KÊ CHUYÊN NGHIỆP

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

Trong khi Matplotlib giống như một bộ cọ vẽ thủ công, thì Seaborn giống như một studio nghệ thuật hiện đại. Được xây dựng dựa trên Matplotlib, Seaborn giúp bạn tạo ra những biểu đồ thống kê cực kỳ “sang chảnh” và giàu thông tin chỉ với một vài câu lệnh đơn giản.


1️⃣ Biểu Đồ Phân Tích Mối Quan Hệ (Pair Plot)

Thay vì vẽ từng biểu đồ một, Pair Plot cho phép bạn xem mối quan hệ tương quan giữa tất cả các cặp biến số trong bộ dữ liệu chỉ bằng 1 dòng code. Cực kỳ hiệu quả cho giai đoạn khám phá dữ liệu (EDA).

import seaborn as sns
import matplotlib.pyplot as plt

# Tải dữ liệu mẫu
tips = sns.load_dataset("tips")

# Vẽ Pair Plot
sns.pairplot(tips, hue="sex", palette="Set1")
plt.show()

2️⃣ Bản Đồ Nhiệt (Heatmap) & Ma Trận Tương Quan

Bạn muốn biết những yếu tố nào ảnh hưởng mạnh nhất đến lợi nhuận? Heatmap sẽ dùng màu sắc để “nhấn mạnh” những con số này, giúp người xem nhận ra ngay lập tức các mối tương quan quan trọng.

# Tính ma trận tương quan
corr = tips.corr()

# Vẽ Heatmap
sns.heatmap(corr, annot=True, cmap='coolwarm')
plt.title("Ma trận tương quan của bộ dữ liệu Tips")
plt.show()

3️⃣ Biểu Đồ Hộp (Boxplot) Phân Loại

Seaborn làm cho Boxplot trở nên mạnh mẽ hơn bằng cách dễ dàng chia tách theo các biến phân loại (như doanh thu theo từng Ngày trong tuần hoặc theo giới tính).

TỔNG KẾT BUỔI 11

Làm chủ Seaborn giúp báo cáo của bạn trông “pro” hơn hẳn trong mắt đồng nghiệp và khách hàng. Với khả năng tích hợp sẵn các kiểm định thống kê và phối màu thông minh, Seaborn chính là trợ thủ đắc lực nhất trong chặng đường chinh phục Data Visualization.


📊 Trực quan hóa đỉnh cao tại: Hướng nghiệp Python – Data Analysis

| BUỔI 10: DATA VISUALIZATION VỚI MATPLOTLIB — VẼ BỨC TRANH DỮ LIỆU

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

“Một bức ảnh đáng giá ngàn lời nói”. Trong dữ liệu, một biểu đồ chuẩn có thể giúp sếp của bạn đưa ra quyết định chỉ trong vài giây, thay vì phải đọc hàng chục bảng Excel khô khan. Hôm nay, chúng ta sẽ làm quen với Matplotlib — “ông tổ” của các thư viện đồ họa trong Python.


1️⃣ Biểu Đồ Đường (Line Plot) & Cột (Bar Chart)

Đây là hai loại biểu đồ phổ biến nhất trong kinh doanh để theo dõi xu hướng và so sánh các nhóm dữ liệu.

  • Line Plot: Tuyệt vời để theo dõi sự thay đổi theo thời gian (ví dụ: Doanh thu theo tháng).
  • Bar Chart: Dùng để so sánh các hạng mục (ví dụ: Doanh số giữa các phòng ban).
import matplotlib.pyplot as plt

# Biểu đồ đường cơ bản
months = ['Jan', 'Feb', 'Mar', 'Apr']
sales = [100, 150, 120, 200]

plt.plot(months, sales, marker='o', color='blue')
plt.title("Doanh thu 4 tháng đầu năm")
plt.xlabel("Tháng")
plt.ylabel("Triệu VNĐ")
plt.show()

2️⃣ Biểu Đồ Phân Phối (Histogram)

Nếu bạn muốn biết: “Khách hàng của tôi chủ yếu nằm ở độ tuổi nào?”, Histogram là câu trả lời. Nó giúp bạn thấy được mật độ phân bố của dữ liệu.

ages = [20, 21, 25, 25, 25, 30, 32, 40, 45, 50]
plt.hist(ages, bins=5, color='green', edgecolor='black')
plt.title("Phân bổ độ tuổi khách hàng")
plt.show()

3️⃣ Biểu Đồ Phân Tán (Scatter Plot)

Giúp tìm ra mối quan hệ giữa hai biến số. Ví dụ: Cửa hàng có diện tích càng lớn thì doanh thu có thực sự cao hơn không?

TỔNG KẾT BUỔI 10

Matplotlib cung cấp cho bạn quyền kiểm soát tuyệt đối đến từng chi tiết nhỏ nhất của biểu đồ. Tuy nhiên, nó hơi “tốn code” một chút. Đừng lo, ở buổi tiếp theo chúng ta sẽ học Seaborn — thư viện giúp bạn vẽ biểu đồ đẹp lung linh chỉ với 1-2 dòng mã!


🎨 Nghệ thuật thị giác dữ liệu tại: Hướng nghiệp Python – Data Analysis