You are on page 1of 40

KHOA HỌC DỮ LIỆU TRONG

PHÂN TÍCH KINH DOANH


XỬ LÝ DỮ LIỆU VỚI THƯ VIỆN PANDAS

TS. TRỊNH HOÀNG NAM


NỘI DUNG
• Giới thiệu
• Cấu trúc dữ liệu trong pandas
Xử lý dữ liệu với thư viện Pandas

• Làm việc với series


• Làm việc với dataframe
• Làm việc với panel
• Chọn và nhóm phần tử

… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
GIỚI THIỆU THƯ VIỆN pandas
• Được mở rộng từ thư viện NumPy
• Đơn giản hóa việc xử lý dữ liệu dạng bảng
Xử lý dữ liệu với thư viện Pandas

Panda(s) = Panel data

• Sử dụng trong nghiên cứu các lĩnh vực kinh tế

… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
ĐẶC ĐIỂM NỔI BẬT CỦA THƯ VIỆN pandas
• Đọc dữ liệu từ nhiều định dạng
• Liên kết dữ liệu và tích hợp xử lý dữ liệu bị thiếu
Xử lý dữ liệu với thư viện Pandas

• Xoay và chuyển đổi chiều của dữ liệu dễ dàng


• Chia nhỏ các tập dữ liệu lớn dựa trên nhãn
• Có thể nhóm dữ liệu cho các mục đích hợp nhất và
chuyển đổi
• Lọc dữ liệu và thực hiện truy vấn trên dữ liệu
• Xử lý dữ liệu chuỗi thời gian và lấy mẫu
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
CẤU TRÚC DỮ LIỆU TRONG pandas
• Dữ liệu của pandas có 3 cấu trúc chính
– Series (dãy): cấu trúc 1 chiều, mảng dữ liệu đồng nhất
Xử lý dữ liệu với thư viện Pandas

– Dataframe (khung): cấu trúc 2 chiều, dữ liệu trong mỗi


cột là đồng nhất
– Panel (bảng): cấu trúc 3 chiều, có thể xem như một tập
các dataframe với thông tin bổ sung

• Dữ liệu series gần giống kiểu array trong numpy,


nhưng có 2 điểm khác biệt quan trọng
– Chấp nhận dữ liệu thiếu (NaN – không xác định)
– Hệ thống chỉ mục phong phú
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
CẤU TRÚC DATAFRAME
• Dữ liệu 2 chiều
• Các cột có tên, dữ liệu trong cột là đồng nhất
Xử lý dữ liệu với thư viện Pandas

• Các dòng có thể có tên


• Có thể có ô thiếu dữ liệu
#NID Earns. Marital
1 35000 Single
2 40000 Married
3 42000 Divorced

… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
CẤU TRÚC PANEL
• Dữ liệu 3 chiều #NID Year Earns. Marital
1 2018 35000 Single
• Một tập các dataframe
Xử lý dữ liệu với thư viện Pandas

1 2019 40000 Married


1 2020 37500 Married
• Các dataframe có cấu
trúc tương đồng 2 2018 40000 Married
2 2019 39000 Divorced
• Có thể có các thông 2 2020 45000 Divorced
tin bổ sung cho từng 3 2018 42000 Divorced
dataframe

… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI SERIES (1)
TẠO DỮ LIỆU DÃY NGẪU NHIÊN
Xử lý dữ liệu với thư viện Pandas

Chỉ mục: Số
Giá trị: Số

Ví dụ 1
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI SERIES (2)
TẠO DỮ LIỆU DÃY
Xử lý dữ liệu với thư viện Pandas

Chỉ mục: Chuỗi


Giá trị: Số

Ví dụ 2
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI SERIES (3)
TẠO DỮ LIỆU DÃY
Xử lý dữ liệu với thư viện Pandas

Chỉ mục: Chuỗi


Giá trị: Số

Ví dụ 3
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI SERIES (4)
TRUY VẤN DỮ LIỆU QUA CHỈ MỤC
Xử lý dữ liệu với thư viện Pandas

Ví dụ 4
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI SERIES (5)
PHÉP TOÁN TRÊN DÃY (1)
• Nguyên tắc chung
Xử lý dữ liệu với thư viện Pandas

– Đối với phép toán giữa hai dãy, các giá trị cùng chỉ mục
sẽ thực hiện phép toán với nhau, ngược lại trả về NaN
– Đối với phép toán giữa dãy và số, thực hiện phép toán
trên số đó với tất cả các giá trị trong dãy

… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI SERIES (5)
PHÉP TOÁN TRÊN DÃY (2)
Xử lý dữ liệu với thư viện Pandas

Ví dụ 5
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI SERIES (6)
PHƯƠNG THỨC TRÊN DÃY (1)
Xử lý dữ liệu với thư viện Pandas

Ví dụ 6
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI SERIES (6)
PHƯƠNG THỨC TRÊN DÃY (2)
• S.axes(): trả về danh sách các chỉ mục của S
Xử lý dữ liệu với thư viện Pandas

• S.dtype(): trả về kiểu dữ liệu các phần tử của S


• S.empty(): trả về True nếu S rỗng
• S.ndim(): trả về số chiều của S
• S.size(): trả về số phần tử của S
• S.values(): trả về list các phần tử của S
• S.head(n): trả về n phần tử đầu tiên của S
• S.tail(n): trả về n phần tử cuối cùng của S

… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI DATAFRAME (1)
KHỞI TẠO DATAFRAME (1)
• Cú pháp chung
Xử lý dữ liệu với thư viện Pandas

pandas.DataFrame(data, index, columns, dtype, copy)


• Trong đó
– data nhận giá trị từ nhiều kiểu khác nhau như list, dictionary,
ndarray, series,… và cả các DataFrame khác
– index: nhãn chỉ mục hàng của dataframe
– columns: nhãn chỉ mục cột của dataframe
– dtype: kiểu dữ liệu cho mỗi cột
– copy: nhận giá trị True/False để chỉ rõ dữ liệu có được sao
chép sang vùng nhớ mới không, mặc định là False

… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI DATAFRAME (1)
KHỞI TẠO DATAFRAME (2)
Xử lý dữ liệu với thư viện Pandas

Ví dụ 7
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI DATAFRAME (1)
KHỞI TẠO DATAFRAME (3)
Xử lý dữ liệu với thư viện Pandas

Ví dụ 8
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI DATAFRAME (1)
KHỞI TẠO DATAFRAME (4)
Xử lý dữ liệu với thư viện Pandas

Ví dụ 9
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI DATAFRAME (1)
KHỞI TẠO DATAFRAME (5)
Xử lý dữ liệu với thư viện Pandas

Ví dụ 10
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI DATAFRAME (1)
KHỞI TẠO DATAFRAME (6)
Cột đầu tiên khuyết tiêu đề
Xử lý dữ liệu với thư viện Pandas

Chỉ mục mặc định, do Python tự tạo

Cột đầu tiên khuyết tiêu đề


Cột Năm (0)
là chỉ mục?

Ví dụ 11
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI DATAFRAME (1)
KHỞI TẠO DATAFRAME (7)
Xử lý dữ liệu với thư viện Pandas

Xuất đúng
cột mình cần?

Ví dụ 12
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI DATAFRAME (2)
TRUY XUẤT TRÊN DATAFRAME (1)
Xử lý dữ liệu với thư viện Pandas

Xuất nhiều
cột cùng lúc?

Ví dụ 13
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI DATAFRAME (2)
TRUY XUẤT TRÊN DATAFRAME (2)
Xử lý dữ liệu với thư viện Pandas

Ví dụ 14
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI DATAFRAME (2)
TRUY XUẤT TRÊN DATAFRAME (3)
Xử lý dữ liệu với thư viện Pandas

Ví dụ 15
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI DATAFRAME (2)
TRUY XUẤT TRÊN DATAFRAME (4)
Xử lý dữ liệu với thư viện Pandas

Ví dụ 16
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI DATAFRAME (3)
THÊM MỚI CỘT TRÊN DATAFRAME (1)
Xử lý dữ liệu với thư viện Pandas

Ví dụ 17
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI DATAFRAME (3)
THÊM MỚI CỘT TRÊN DATAFRAME (2)
Xử lý dữ liệu với thư viện Pandas

Ví dụ 18
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI DATAFRAME (3)
THÊM MỚI CỘT TRÊN DATAFRAME (3)
Xử lý dữ liệu với thư viện Pandas

Ví dụ 19
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI DATAFRAME (3)
THÊM MỚI HÀNG TRÊN DATAFRAME (1)
Xử lý dữ liệu với thư viện Pandas

Ví dụ 20
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI DATAFRAME (4)
XÓA CỘT TRÊN DATAFRAME (1)
Xử lý dữ liệu với thư viện Pandas

Ví dụ 21
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI DATAFRAME (4)
THỐNG KÊ TRÊN CỘT (1)
Xử lý dữ liệu với thư viện Pandas

Ví dụ 22
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI DATAFRAME (4)
THỐNG KÊ TRÊN CỘT (2)
Xử lý dữ liệu với thư viện Pandas

Ví dụ 23
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI DATAFRAME (4)
THỐNG KÊ TRÊN CỘT (3)
Xử lý dữ liệu với thư viện Pandas

Ví dụ 24
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI DATAFRAME (5)
GHI DỮ LIỆU VÀO TẬP TIN CSV (1)
Xử lý dữ liệu với thư viện Pandas

Ví dụ 25
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI DATAFRAME (5)
CHIA NHÓM DỮ LIỆU – GROUPBY (1)
Xử lý dữ liệu với thư viện Pandas

Ví dụ 26
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI DATAFRAME (5)
CHIA NHÓM DỮ LIỆU – GROUPBY (2)
Xử lý dữ liệu với thư viện Pandas

mean sem
sum describe
size first
count last
std min
var max

Ví dụ 27
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI DATAFRAME (5)
CHIA NHÓM DỮ LIỆU – GROUPBY (3)
Xử lý dữ liệu với thư viện Pandas

Ví dụ 28
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI DATAFRAME (6)
PHÂN TÍCH DỮ LIỆU VỚI PIVOT (1)
Xử lý dữ liệu với thư viện Pandas

Ví dụ 29
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam
LÀM VIỆC VỚI DATAFRAME (6)
PHÂN TÍCH DỮ LIỆU VỚI PIVOT (2)
Xử lý dữ liệu với thư viện Pandas

Ví dụ 30
… những bước chập chững vào thế giới Khoa học dữ liệu … TS. Trịnh Hoàng Nam

You might also like