Python for Data Analysis and Digital Marketing

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.

  • Kênh trao đổi thông tin: Telegram. Telegram cũng là nền tảng để các bạn thực hành tạo con bot đầu tiên cho mình với Python.

  • Học phí: Trao đổi trực tiếp qua Messenger / Linkedin

  • 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 Google Colab 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.

screenshot python for data analysis toc
Một phần giáo trình khóa học được soạn thảo trên Google Colab

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.

III. GIÁO TRÌNH

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

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

Leave a Reply

Your email address will not be published. Required fields are marked *