
Khoá học Python for Data Analysis & Digital Marketing
I. GIỚI THIỆU KHOÁ HỌC
1.1. Ai là người thích hợp tham gia khoá học này?
- Công việc hàng ngày liên quan đến xử lý, phân tích dữ liệu lớn (nhất là với ecommerce và app marketing), đến từ nhiều nguồn khác nhau mà các công cụ phân tích thông thường như Excel, Data Studio, vv trở nên kém hữu dụng, chậm chạp hoặc không phản hồi. Bạn đã bao giờ mở file excel nặng vài trăm MB thậm chí vài GB và ngồi chờ mòn mỏi để Excel load được những dòng dữ liệu đầu tiên chưa? Bạn cần kết nối nhiều nguồn/định dạng dữ liệu (database, facebook ads, google ads, tiktok, cốc cốc, appsflyer, file csv, vv ) và phải làm công việc tay chân đi download chúng quá mất thời gian để xử lý? Bạn muốn xây dựng report/dashboard để theo dõi hiệu quả chiến dịch của mình 1 cách tiện lợi, ít công sức nhất?
- Người mới bắt đầu học python, mơ hồ với cách bắt đầu hoặc muốn bỏ cuộc vì chán nản. Sự thực là ai cũng từng nghe về Python và tính ứng dụng của nó trong hàng tỉ tỉ thứ fancy, thậm chí liên quan đến công việc của mình nhưng để làm chủ Python không hề đơn giản với những "tấm chiếu mới" như bạn. Nhiều bạn tham gia các khoá học tại trung tâm uy tín nhưng học xong vẫn trả hết chữ cho thầy mà không ứng dụng được do việc dạy học đại trà, thiếu tính ứng dụng và mục đích cụ thể cho công việc. Có nhiều bạn tự học và choáng ngợp với vô số khoá học online, tài liệu trên internet kể cả miễn phí lẫn trả phí nhưng vẫn quá chán nản và muốn bỏ cuộc. Đôi khi, việc học được thông suốt chỉ với người hướng dẫn giúp bạn gỡ rối những khúc mắc trong quá trình học, khơi dậy đam mê học tập trong bạn và chỉ cho bạn những công cụ được tạo ra nên được ứng dụng như thế nào.
- Mac users: Người dùng máy tính Mac không có nhiều lựa chọn về công cụ phân tích dữ liệu, ngay cả phiên bản Excel trên Mac cũng khó sử dụng, thiếu add-in so với phiên bản Windows. Phần lớn người làm digital marketing, data sử dụng máy tính Windows vì các ứng dụng được hỗ trợ cho phân tích dữ liệu rất đa dạng trong đó phải kể đến Microsoft Power BI. Sử dụng python giúp Mac users vừa có thể sử dụng chiếc Macbook yêu thích vừa có trong tay công cụ phân tích dữ liệu mạnh mẽ, giải quyết được bất cập của hệ điều hành này trong yêu cầu công việc của bạn.
1.2. Bạn sẽ có được gì sau khóa học?
- Bạn sẽ học được những tư duy xử lý dữ liệu và kỹ năng thực hành với Python 1 cách có hệ thống. Việc này giúp các bạn có 1 khởi đầu tốt kể cả khi xử dụng các công cụ phân tích dữ liệu khác như PowerBI, R hay Tableau.
- Nắm được nền tảng cơ bản của Python để có thể tự tin phát triển thêm kiến thức của mình với các mảng thú vị khác của Python như Machine Learning, Data mining, vv
- Học được cách ứng dụng Python vào việc tự động hóa những tác vụ thủ công nhàm chán hoặc đơn giản là tăng tốc độ công việc.
- Làm quen và có thể sử dụng tốt các API từ các nền tảng quảng cáo phổ biến trong việc report hay xây dựng các tính năng quản lý, tối ưu quảng cáo.
- Tự tạo cho mình dashboard tổng hợp để quản lý công việc và hiệu quả chiến dịch marketing từ nhiều nguồn dữ liệu.
1.3. Điều kiện để thành công
- Có một cam kết học tập mạnh mẽ. Nếu có thêm định hướng rõ ràng cho việc học và ứng dụng nữa còn giúp bạn tiến xa hơn với việc học của mình.
- Có tính tò mò, hứng thú với việc nghiên cứu những điều mới mẻ. Có một sự thật là bất kỳ lớp học nào dù được tổ chức chu đáo cũng rất cần sự đầu tư thời gian và tâm huyết của các bạn cho việc nghiên cứu ngoài lớp học để kiến thức được thấm vào ký ức của các bạn.
- Có background về marketing/performance marketing hoặc công việc yêu cầu xử lý dữ liệu là một lợi thế. Điều này giúp các bạn nhận ra được những pain point trong công việc và sớm tìm ra cách sử dụng Python để giải quyết nỗi đau đó.
II. NỘI DUNG KHÓA HỌC
2.1. Hình thức tổ chức
-
Cách thức tham gia học: Lớp học được tổ chức thông qua Zoom. Mỗi buổi học đều được ghi hình và chia sẻ cho các bạn (nếu cần). Tuy nhiên, rất khuyến khích các bạn tham gia tập trung hết sức vào bài học trong khi tham gia lớp thay vì ỉ i vào việc có thể xem lại video ghi hình.
-
Thời lượng chương trình: 10 buổi x 1.5 giờ/buổi tổ chức vào cuối tuần.
-
Số lượng tham dự: Tối đa 5 học viên.
-
-
Nền tảng học tập: Toàn bộ giáo trình khóa học được soạn thảo trên nền tảng giúp bạn vừa có thể đọc tài liệu vừa có thể thực thi Python code ngay lập tức rất thuận tiện. Bạn cũng không cần phải cài đặt kỹ thuật gì để học, chỉ cần mở Google Colab là đủ. Trong quá trình học, các bạn có thể cài đặt Python trên máy tính cá nhân để thực hành thêm nếu cần thiết.

Hỗ trợ sau khóa học: Tất cả các bạn tham gia khóa học được hỗ trợ đầy đủ và gần như ngay lập tức trong suốt quá trình học cũng như sau khóa học. Tất cả mọi thắc mắc đều được đón nhận, nếu có thắc mắc chứng tỏ các bạn có thực hành và tìm hiểu bài. Đó là 1 thói quen tốt được khuyến khích.
2.2. Hoạt động lớp học
2.2.1. Tương tác
Chúng ta là những người lớn bận rộn. Xin hãy trân trọng thời gian của nhau.
-
Chat, đặt câu hỏi vào Zoom/Google Meet khi không rõ hoặc chưa hiểu nội dung bất kỳ
-
Những vấn đề liên quan đến lớp học, đừng ngại hỏi trong group. Có thể các bạn khác cũng có chung thắc mắc.
-
Phản hồi thông tin trong group, đừng seen và bỏ qua
-
Check email & phản hồi lời mời tham gia lớp học, chia sẻ tài liệu
-
Đầu tư thời gian cho bài tập & hoạt động đi kèm với khóa học
-
Tạo thói quen cố gắng hoàn thành những gì mình đã bắt đầu
2.2.2. Thực hành
Trong khi theo dõi nội dung bài học, các bạn cũng đồng thời thực hành dựa trên những mẫu code được cung cấp. Tuy nhìn đơn giản nhưng kiến thức chỉ thực sự là của bạn khi bắt đầu thực hành và ghi nhớ.
2.2.3. Bài tập
Sau mỗi bài học, các bạn sẽ được giao bài tập thực hành để vận dụng và làm quen với kiến thức mới đã học. Ngoài ra, các bạn cũng nên dành thời gian thực hành với các dataset thực tế trong công việc của mình để biến những kiến thức đã học được áp dụng 1 cách thuần thục.
2.2.4. Dự án cuối khóa
Mỗi bạn sẽ tự thực hiện 1 project cho riêng mình để vận dụng những kiến thức đã học và hoàn thành 1 ứng dụng thực tế khi kết thúc khóa học.
Giáo trình của khóa học được soạn thảo hoàn toàn trên Google Colab. Nội dung được viết bằng tiếng Việt, riêng các đề mục sẽ được ưu tiên sử dụng tiếng Anh để đảm bảo giữ nguyên thuật ngữ và giúp các bạn dễ tra cứu từ Internet.
Dưới đây là mục lục chi tiết của giáo trình khóa học:
I. INTRODUCTION
1.1. Hoạt động lớp học
1.1.1. Tương tác
1.1.2. Thực hành
1.1.3. Bài tập
1.1.4. Dự án cuối khóa
1.2. Giới thiệu sơ lược
1.3. Tại sao chọn Python để phân tích dữ liệu?
1.4. Phương pháp tư duy
1.4.1. Phương pháp LEGO
1.4.2. Nguyên lý MECE
1.4.3. Mindmapping
1.5. Cách tổ chức thông tin
1.6. Làm quen với ngôn ngữ Markdown
1.7. Giới thiệu một số thư viện Python thông dụng
Pandas
Numpy
Matplotlib
Seaborn
Plotly
Altair
Requests
IO
Datetime
Dataprep
YAML
II. CONFIG YOUR PYTHON ENVIRONMENT
2.1. PYTHON3
2.2. ANACONDA
2.3. PIP
2.4. TERMINAL/COMMAND PROMPT
2.5. CODE EDITOR
2.5.1. Jupyter Notebook
2.5.2. Jupyter Lab
2.5.3. Google Colab
2.5.4. Visual Code Studio (VCS)
III. PYTHON CĂN BẢN
3.1. Khái niệm chung
3.1.1. Language Syntax | Cú pháp Python
3.1.2. Tất cả đều là 1 đối tượng
3.1.3. Variable, Parameter & Argument | Biến, Tham số, Đối số
3.1.4. Dynamic References, strong types
3.1.5. Attributes & Method
3.1.6. Import
3.1.7. Mutable & Immutable Object
3.2. Data Types
3.2.1. Collection Types
Dict
Set
List
Tupple
3.2.2. Scalar Types
Boolean
String
Numeric Types
None
Byte
Date & Time
3.2.3. Type Casting
3.3. Operators | Phép tính
3.4. Control Flow
If, Elif, Else
For Loop (Vòng lặp For)
While Loop (Vòng lặp While)
Pass (Bỏ qua)
Range (Dãy số)
3.2. Functions
Definition
Function scope
Error Handling
3.3. Files and the Operating System
IV. DATA ANALYSIS WITH PANDAS
4.1. Pandas Data Structure
4.1.1. Series
4.1.2. Dataframe
4.2. Data Loading, Storage & File Formats
4.2.1. Reading & Writing Data in Text Format
4.2.1.2.Reading Text File
4.2.1.3. Writing Text File
4.2.1.4. JSON format
4.2.1.5. HTML: Web Scraping
4.2.2 Binary Data Format
4.2.2.1. Excel File
4.2.2.2. Pickle
4.2.2.3. HDF5
4.2.3 Data Streaming
4.2.3.1. Google Sheets
4.2.3.2. StringIO
4.2.4. Interacting with APIs
4.2.4.1. HTTP Request Introduction
4.2.4.2. API Introduction
4.2.4.3. Some of the most popular APIs
Youtube Data API V3
Appsflyer Pull API
Facebook Marketing API
Google Ads API
Apple Search Ads API
TikTok Ads API
Cốc Cốc API
Other stuffs
4.2.5. Interacting with Database
4.3. Essential Functionality with Pandas
4.3.1. Reindexing
4.3.2. Dropping Entries from an Axis
4.3.3. Indexing, Selection, and Filtering
Data Selection in Series
Slice dữ liệu Series với loc và iloc
Data Selection in DataFrame
4.3.4. Interger Indexes
4.3.5. Arithmetic & Data Alignment
4.3.6. Function Application & Mapping
4.3.7. Sorting & Ranking
4.3.8. Axis Indexes with Duplicate Labels
4.3.9. Summarizing and Computing Descriptive Statistics
V. EXPLORATORY DATA ANALYSIS (EDA) - UNDERSTAND YOUR DATASET
5.1. Terms & Concepts
5.2. Data Inspection
5.3. Dataprep EDA
Analyze distributions with plot()
Analyze correlations with plot_correlation()
Analyze missing data with plot_missing()
Generate a report with create_report()
5.4. Other stuffs
VI. DATA CLEANING & PREPARATION
6.1. Handling Missing Data
6.1.1. Filtering Out Missing Data
6.1.2. Filling In Missing Data
6.2. Data Transformation
6.2.1. Removing Duplicates
6.2.2. Transforming Data Using a Function or Mapping
6.2.3. Replacing Values
6.2.4. Renaming Axis Indexes
6.2.5. Discretization and Binning (Tách & phân nhóm dữ liệu)
6.2.6. Detecting and Filtering Outliers
6.2.7. Permutation and Random Sampling
6.3. String Manipulation
6.3.1. String Object Methods
6.3.2. Regular Expressions
6.3.2.1. Learn the basic Regex syntax
6.3.2.2. re module in Python
6.3.3. Vectorized String Functions in pandas
6.4. Converting Types
Convert to String Object
Convert to Numeric Values
to_numeric()
6.5. Time Series
6.5.1. Date and Time Data Types and Tools
6.5.1.1.Quick Introduction
6.5.1.2. Converting Between String and Datetime
6.5.2. Time Series Basics
6.5.2.1. Indexing, Selection, Subsetting
6.5.2.2. Time Series with Duplicate Indices
6.5.3. Date Ranges, Frequencies, and Shifting
6.5.3.1. Generate Date Ranges
Frequency Alias Table
6.5.3.2. Frequencies and Date Offsets
6.5.3.3. Week of month dates
6.5.3.4. Shifting (Leading and Lagging) Data
6.5.4. Time Zone Handling
6.5.4.1. Time Zone Localization and Conversion
6.5.4.2. Operations with Time Zone−Aware Timestamp Objects
6.5.4.3. Operations Between Different Time Zones
6.5.4.4. Periods and Period Arithmetic
Period Frequency Conversion
Quarterly Period Frequencies
Converting Timestamps to Periods (and Back)
Creating a PeriodIndex from Arrays
6.5.5. Resampling and Frequency Conversion
Downsampling
Open-High-Low-Close (OHLC) resampling
Upsampling and Interpolation
6.6. Categorical Data
6.6.1. Categorical Type in pandas
6.6.2. Computations with Categoricals
6.6.3. Better performance with categoricals
6.6.4. Categorical Methods
VII. DATA WRANGLING: JOIN, COMBINE, AND RESHAPE
7.1. Hierarchical Indexing
7.1.1. Reordering and Sorting Levels
7.1.2. Summary Statistics by Level
7.1.3. Indexing with a DataFrame’s columns
7.2. Combining & Merging Datasets
7.2.1. Database-Style DataFrame Joins
7.2.2. Merging on Index
7.2.3. Concatenating Along an Axis
7.2.4. Combining Data with Overlap
7.3. Reshaping & Pivoting
7.3.1. Reshaping with Hierarchical Indexing
7.3.2. Pivoting “Long” to “Wide” Format
7.3.3. Pivoting “Wide” to “Long” Format
VIII. DATA AGGREGATION & GROUP OPERATIONS
8.1. GroupBy Mechanics
Iterating Over Groups
Selecting a Column or Subset of Columns
Grouping with Dicts and Series
Grouping with Functions
Grouping by Index Levels
8.2 Data Aggregation
Column-Wise and Multiple Function Application
Returning Aggregated Data Without Row Indexes
8.3 Apply: General split-apply-combine
Suppressing the Group Keys
Quantile and Bucket Analysis
Example: Filling Missing Values with Group-Specific Values
8.4. Pivot Table & Cross-Tabulation
Pivot Table Explained
Pivot Table Syntax
Creating a Pivot Table in Pandas
Filtering Python Pivot Tables
Multi-index pivot table
Find the relationship between features with columns parameter
Handling missing data
Adding Totals for Rows and Columns to Pandas Pivot Tables
Pivot Table with multiple Aggregating Function
Different aggregation function for different features
Cross-Tabulations: Crosstab
IX. PLOTTING AND VISUALIZATION
9.1. Visualization types introduction
9.1.1. Visualize Amounts
9.1.2. Visualize Distributions
9.1.3. Visualize Proportions
9.1.4. Scatterplots
9.1.5. Visualize Geospatial Data
9.1.6. Visualize the Uncertainty
9.2. Visualization with Matplotlib
9.2.1. A Brief matplotlib API Primer
9.2.1.1. Figures and Subplots
9.2.1.2. Adjusting the spacing around subplots
9.2.1.3. Colors, Markers, and Line Styles
9.2.1.4. Ticks, Labels, and Legends
9.2.1.4.1. Setting the title, axis labels, ticks, and ticklabels
9.2.1.4.2. Adding legends
9.2.1.4.3. Annotations and Drawing on a Subplot
9.2.1.4.4. Saving Plots to File
9.2.1.4.5. matplotlib Configuration
9.3. Plotting with Matplotlib
9.3.1. Line Plots
Adjusting the Plot: Line Colors and Styles
Adjusting the Plot: Axes Limits
Labeling Plots
Example Plot 1
Example Plot 2
9.3.2. Bar Plots
Example Plot 3
9.3.3. Scatter Plots
Scatter Plots with plt.plot
Scatter Plots with plt.scatter
plot Versus scatter: A Note on Efficiency
Example Plot 4
Example Plot 5
9.3.4. Histograms
Two-Dimensional Histograms and Binnings
Example Plot 6
9.3.5. Stack Plots
Example 7
Example 8
9.3.6. Pie Charts
Example Plot 9
Example Plot 10
9.3.7. Subplotting using Subplot2grid
9.4. Plotting with Seaborn
Line Plot
Bar Plot
Scatter Plot
Histogram
Heatmap
9.5. Plotting with Altair
9.6. Plotting with Plotly
9.5.1. Plotly Express
Line Plot
Bar Plot
Scatter Plot
Pie Chart
Buble Chart
9.5.2. Graph Object
9.5.3. Dash App
Example Dash App 1
Example Dash App 2
9.7. Bokeh
X. APPENDICES
10.1. Magic Commands
10.2. Widgets
10.3. Interactive Forms in Google Colab
10.3.1. Forms
10.3.2. Hiding code
10.4. Using Jupyter Widgets for interactivity
10.5. Using Jupyter Widgets sliders
10.4. Additional APIs
Telegram Bot API
Slack API
10.5. Web Scraping with BeautifulSoup
Build your first Web Scraper
Running BeautifulSoup
Online News Scraping Project
10.6. Web Browser Automation with Selenium
Example Project: Generate Shopee's Website Screenshot
10.7. Working with Files in Python
Working with Files & the Operating System
PyDrive - Interacting with Google Drive in Python
10.8. Automate your workflow with Apache Airflow
10.9. Learning Resources