Nhà khoa học dữ liệu · Bước 2/8 · 12 phút
Python và notebook cho dữ liệu
Nạp một bộ dữ liệu vào pandas trên notebook miễn phí, rồi lọc, nhóm và ghép bảng.
Notebook: code, kết quả và ghi chú ở cùng một chỗ
Notebook (sổ tay lập trình) là một tài liệu gồm nhiều ô. Có ô chứa code Python, bạn chạy từng ô và kết quả hiện ngay bên dưới. Có ô chỉ chứa ghi chú. Jupyter là định dạng chuẩn. Google Colab và Kaggle notebook cho bạn dùng miễn phí ngay trên trình duyệt, không cần cài đặt gì.
Notebook rất hợp để khám phá. Bạn thử một thứ, xem kết quả, rồi chỉnh. Nhờ tốc độ đó mà gần như nhà khoa học dữ liệu nào cũng dùng.
pandas và DataFrame
pandas là thư viện Python để làm việc với bảng. Đối tượng chính của nó là DataFrame: một bảng có hàng và các cột có tên, giống bảng tính nhưng điều khiển bằng code. Thường bạn bắt đầu bằng import pandas as pd, rồi df = pd.read_csv('sales.csv'). Lúc này df.head() hiện vài hàng đầu, df.shape cho biết số hàng và cột, còn df.info() liệt kê từng cột cùng kiểu dữ liệu.
Nếu đã quen bảng tính, bạn đã biết sẵn các ý tưởng này. pandas chỉ giúp bạn lặp lại chúng chính xác, trên hàng triệu dòng.
Bốn thao tác dùng hằng ngày
Lọc: df[df['city'] == 'Hà Nội'] chỉ giữ các hàng khớp điều kiện. Chọn cột: df[['date', 'amount']] chỉ giữ những cột đó. Nhóm: df.groupby('city')['amount'].sum() cho tổng theo từng thành phố, giống pivot table. Ghép: pd.merge(orders, customers, on='customer_id') nối hàng của hai bảng, giống VLOOKUP.
Sau mỗi lần merge, luôn kiểm tra số hàng. Nếu nó tăng bất thường, nghĩa là khóa ghép không duy nhất và một số hàng đã bị nhân đôi. Chỉ một thói quen này thôi đã bắt được rất nhiều lỗi âm thầm.
Làm sao để người khác chạy lại được
Một notebook có tính tái lập (reproducible) khi người khác chạy từ trên xuống dưới và ra đúng kết quả như bạn. Vì các ô có thể chạy theo bất kỳ thứ tự nào, rất dễ có một notebook chỉ chạy được trên máy bạn. Trước khi chia sẻ, hãy dùng “Restart and run all” và sửa mọi chỗ bị lỗi.
Giữ nguyên dữ liệu gốc, làm mọi bước làm sạch bằng code. Viết một dòng ghi chú phía trên mỗi bước để giải thích lý do. Người biết ơn bạn nhất sẽ là chính bạn vài tháng sau.
Thử ngay
DataFrame đầu tiên trên Google Colab
- 1.Mở colab.research.google.com và tạo notebook mới.
- 2.Chạy: import pandas as pd, rồi df = pd.read_csv('sample_data/california_housing_train.csv'). Colab có sẵn file này trong mọi notebook mới.
- 3.Chạy df.head(), df.shape và df.describe(), đọc xem mỗi lệnh cho bạn biết điều gì.
- 4.Thử một phép lọc và một groupby. Nếu bị kẹt, dán code và thông báo lỗi vào chatbot cùng câu lệnh bên dưới.
Tôi đang học pandas. Đây là code của tôi: [CODE]. Đây là lỗi hoặc kết quả: [KẾT QUẢ]. Hãy giải thích bằng lời đơn giản chỗ nào sai, đưa code đã sửa, và đừng thêm gì tôi không hỏi.