Pandas là một thư viện xử lý dữ liệu rất mạnh trên Python, cung cấp rất nhiều tính năng hữu ích cho người sử dụng. Hãy cùng tìm hiểu về Pandas.

Bắt đầu sử dụng Pandas

Pandas lưu trữ dữ liệu theo một cách khá giống với Excel, đó là sử dụng các bảng hay còn được gọi là DataFrame.

Hãy bắt đầu sử dụng Pandas với câu lệnh:

Tìm Hiểu Thư Viện Xử Lý Dữ Liệu Pandas Của Python 1

Những chức năng cơ bản

1. Đọc dữ liệu từ file csv:

Tìm Hiểu Thư Viện Xử Lý Dữ Liệu Pandas Của Python 2

Pandas cung cấp các option trong việc đọc file csv như:

Tìm Hiểu Thư Viện Xử Lý Dữ Liệu Pandas Của Python 3

với

  • sep: dấu phân cách giữa các điểm dữ liệu trên 1 dòng
  • encoding: định dạng của file dữ liệu
  • nrows: số lượng hàng sẽ đọc
  • skiprows: những hàng sẽ bỏ qua khi đọc dữ liệu

Ngoài ra còn một số hàm để đọc dữ liệu như: read_excel(), read_clipboard(), read_sql()

2. Ghi dữ liệu

Tìm Hiểu Thư Viện Xử Lý Dữ Liệu Pandas Của Python 4

Ngoài ra còn một số hàm để ghi dữ liệu như: to_excel(), to_json(), to_pickle().

3. Xem các số liệu về dữ liệu

  • Xem số chiều của dữ liệu:

Tìm Hiểu Thư Viện Xử Lý Dữ Liệu Pandas Của Python 5

  • Xem các thống kê về dữ liệu:

Tìm Hiểu Thư Viện Xử Lý Dữ Liệu Pandas Của Python 6

4. In dữ liệu lên màn hình

In 3 hàng đầu tiên:

Tìm Hiểu Thư Viện Xử Lý Dữ Liệu Pandas Của Python 7

In hàng thứ 8:

Tìm Hiểu Thư Viện Xử Lý Dữ Liệu Pandas Của Python 8

In phần tử ở hàng 8 cột ‘column_1’:

Tìm Hiểu Thư Viện Xử Lý Dữ Liệu Pandas Của Python 9

In hàng 4 và hàng 5:Tìm Hiểu Thư Viện Xử Lý Dữ Liệu Pandas Của Python 10

5. Các logical operations trong Pandas

Pandas cung cấp việc truy xuất dữ liệu có điều kiện bằng các operator & (AND), ~ (NOT)| (OR) như các ví dụ dưới đây. Mỗi logical operation cần phải nằm trong ngoặc ()

Tìm Hiểu Thư Viện Xử Lý Dữ Liệu Pandas Của Python 11

Thay vì dùng nhiều phép ~ (OR), ta có thể sử dụng hàm .isin()

Tìm Hiểu Thư Viện Xử Lý Dữ Liệu Pandas Của Python 12

6. Vẽ đồ thị

Pandas sử dụng trực tiếp package matplotlib chứa trong nó để thực hiện các thao tác vẽ đồ thị. Để vẽ đồ thị về giá trị số thực của một cột dữ liệu ta gọi hàm .plot() trên cột dữ liệu đó.

Tìm Hiểu Thư Viện Xử Lý Dữ Liệu Pandas Của Python 13

Tìm Hiểu Thư Viện Xử Lý Dữ Liệu Pandas Của Python 14

Để vẽ đồ thị phân phối giá trị (histogram), ta gọi hàm .hist()

Tìm Hiểu Thư Viện Xử Lý Dữ Liệu Pandas Của Python 15

Tìm Hiểu Thư Viện Xử Lý Dữ Liệu Pandas Của Python 16

Nếu bạn đang code trên Jupyter, chạy câu lệnh này trước khi thực hiện vẽ đồ thị

Tìm Hiểu Thư Viện Xử Lý Dữ Liệu Pandas Của Python 17

7. Cập nhật dữ liệu

Thay đổi giá trị phần tử tại hàng 8, cột ‘column_1’ bằng ‘english’

Tìm Hiểu Thư Viện Xử Lý Dữ Liệu Pandas Của Python 18

Thay đổi giá trị của nhiều hàng cùng lúc

Tìm Hiểu Thư Viện Xử Lý Dữ Liệu Pandas Của Python 19

8. Thống kê số lần xuất hiện

Tìm Hiểu Thư Viện Xử Lý Dữ Liệu Pandas Của Python 20

9. Map và chain function trong Pandas

Hàm .map() thực hiện việc gọi hàm được truyền vào tới từng phần tử của một cột. Ở ví dụ dưới đây làm len() sẽ được gọi trên tất cả các phần tử của cột ‘column_1’

Tìm Hiểu Thư Viện Xử Lý Dữ Liệu Pandas Của Python 21

Các hàm trong pandas có thể được gọi chồng lên nhau tạo thành 1 chain. Bạn hãy thử đoán xem câu lệnh dưới đây thực hiện chức năng gì

Tìm Hiểu Thư Viện Xử Lý Dữ Liệu Pandas Của Python 22

Hàm .apply() thực hiện việc gọi hàm được truyền vào tới các cột dữ liệu. Câu lệnh dưới đây sẽ lấy tổng giá trị của từng cột

Tìm Hiểu Thư Viện Xử Lý Dữ Liệu Pandas Của Python 23

10. Package tqdm

Những operation trong pandas có thể sẽ tốt kha khá thời gian để thực hiện trên các tập dữ liệu lớn. Ta có thể theo dõi tiến trình thực hiện của các operation đó bằng cách sử dụng tqdm

Tìm Hiểu Thư Viện Xử Lý Dữ Liệu Pandas Của Python 24

Thay .map(), .apply()  bằng progress_map()progress.apply()

Tìm Hiểu Thư Viện Xử Lý Dữ Liệu Pandas Của Python 25

Ta có progress bar như dưới đây

Tìm Hiểu Thư Viện Xử Lý Dữ Liệu Pandas Của Python 26

11. Các hàm nâng cao trong Pandas

  • SQL join

Ghép dữ liệu trong pandas trở nên đơn giản hơn rất nhiều bằng cách sử dụng hàm .merge(). Dưới đây là ví dụ về việc ghép 2 DataFrame có 3 cột chung

Tìm Hiểu Thư Viện Xử Lý Dữ Liệu Pandas Của Python 27

  • Grouping

Ta có thể nhóm các cột lại với nhau bằng hàm .groupby(). Ở ví dụ dưới đây, ta nhóm dữ liệu theo cột ‘column_1’, sau đó lấy ra cột ‘column_2’ và áp dụng hàm .apply() lên cột này. Hàm .reset_index() có tác dụng biến đổi dữ liệu về dạng DataFrame

Tìm Hiểu Thư Viện Xử Lý Dữ Liệu Pandas Của Python 28

Tìm Hiểu Thư Viện Xử Lý Dữ Liệu Pandas Của Python 29

  • Loop với từng hàng

Hàm .iterrows() lặp qua các hàng của dữ liệu với 2 tham số i là số thứ tự của hàng và row là các phần tử tại hàng thứ i.

Tìm Hiểu Thư Viện Xử Lý Dữ Liệu Pandas Của Python 30

Thông qua các ví dụ trên, chúng ta có thể thấy các chức năng tuyệt vời của Pandas. Pandas chính là lý do mà Python được coi là một trong những ngôn ngữ lập trình mạnh mẽ nhất hiện nay.

UniTrain tổng hợp

 

Xem thêm

Khóa học Xử lý và trực quan hóa dữ liệu với Python

Tại sao Python lại phổ biến đến vậy?

Tags