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:
Những chức năng cơ bản
1. Đọc dữ liệu từ file csv:
Pandas cung cấp các option trong việc đọc file csv như:
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
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:
- Xem các thống kê về dữ liệu:
4. In dữ liệu lên màn hình
In 3 hàng đầu tiên:
In hàng thứ 8:
In phần tử ở hàng 8 cột ‘column_1’:
In hàng 4 và hàng 5:
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) và | (OR) như các ví dụ dưới đây. Mỗi logical operation cần phải nằm trong ngoặc ()
Thay vì dùng nhiều phép ~ (OR), ta có thể sử dụng hàm .isin()
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 đó.
Để vẽ đồ thị phân phối giá trị (histogram), ta gọi hàm .hist()
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ị
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’
Thay đổi giá trị của nhiều hàng cùng lúc
8. Thống kê số lần xuất hiện
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’
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ì
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
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
Thay .map(), .apply() bằng progress_map() và progress.apply()
Ta có progress bar như dưới đây
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
- 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
- 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.
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