Bỏ qua tới nội dung chính
Quay lại tin tức

Các nhà phát triển AI có nên chuyển từ Polars sang Pandas?

Towards Data Science· Sara A. Metwalli· 11/8/2026general

Không phải tất cả các thư viện dữ liệu Python đều được tạo ra như nhau! Bài viết "Liệu các nhà phát triển AI có nên chuyển từ Polars sang Pandas?" lần đầu xuất hiện trên Towards Data Science.

Khoa học dữ liệu Các nhà phát triển AI có nên chuyển từ Polars sang Pandas? Không phải tất cả các thư viện dữ liệu Python đều được tạo ra như nhau! Sara A. Metwalli Ngày 11/8/2026 6 phút đọc Ảnh của Sabrina Gelbart từ Pexels Nếu bạn đã sử dụng Python để phân tích dữ liệu (hoặc xử lý dữ liệu dưới bất kỳ hình thức nào) dù chỉ trong vài tuần, bạn gần như chắc chắn đã sử dụng Pandas, hoặc ít nhất là từng nghe nói đến nó. Trong hơn mười năm qua, Pandas đã trở thành thư viện tiêu chuẩn để làm sạch dữ liệu, khám phá các tập dữ liệu và chuẩn bị dữ liệu cho các thuật toán học máy. Dù bạn thực hiện điều đó trong bối cảnh một khóa học đại học, một dự án cá nhân hay một công việc toàn thời gian, Pandas đã trở thành gần như đồng nghĩa với phân tích dữ liệu trong Python. Tuy nhiên, trong những năm gần đây, một lựa chọn thay thế cạnh tranh cho Pandas đã xuất hiện, một thư viện mà tên của nó ngày càng trở nên phổ biến trong các hướng dẫn, dự án GitHub và quy trình làm việc AI. Thư viện đó là Polars. Nhiều nhà phát triển đã áp dụng Polars như một lựa chọn nhanh hơn Pandas. Họ đã sử dụng các tiêu chuẩn đánh giá khác nhau để chứng minh sự tăng tốc đáng kể, đặc biệt khi xử lý các tập dữ liệu lớn. Với tốc độ này, bạn có thể tự hỏi: Nếu Polars nhanh hơn nhiều như vậy, tại sao không phải ai cũng sử dụng nó? Câu trả lời trở nên thú vị hơn khi chúng ta nhìn xa hơn lợi thế về tốc độ. Pandas và Polars được xây dựng dựa trên các triết lý khác nhau, và việc hiểu những triết lý đó có giá trị hơn nhiều so với việc đưa ra quyết định dựa trên các số liệu đánh giá. Vì vậy, trong bài viết này, chúng ta sẽ xem xét sự khác biệt giữa hai thư viện, giải thích tại sao Polars thường nhanh hơn (từ khóa ở đây: thường), và chỉ ra khi nào một thư viện là lựa chọn tốt hơn. Ảnh của tác giả Tại sao Polars được tạo ra? Khi Pandas lần đầu ra mắt vào năm 2008, máy tính rất khác; hầu hết máy tính cá nhân chỉ có một số ít lõi CPU, các tập dữ liệu nhỏ hơn nhiều và bộ nhớ thường là yếu tố hạn chế. Vì vậy, Pandas được thiết kế với những thực tế này. API tập trung vào sự đơn giản và dễ đọc, cho phép người dùng thực hiện các thao tác trực quan khi làm việc với dữ liệu dạng bảng. Tuy nhiên, khi kích thước tập dữ liệu đạt hàng triệu hàng, một số lựa chọn thiết kế ban đầu của Pandas đã trở thành hạn chế của nó. Ngày nay, các bộ xử lý hiện đại có nhiều lõi CPU. Nhưng các thao tác Pandas truyền thống thường chỉ chạy trên một lõi duy nhất. Hơn nữa, các ngôn ngữ lập trình gần đây, ví dụ như Rust, đã giúp tạo ra các thư viện xử lý dữ liệu nhanh hơn, an toàn hơn và song song hơn. Polars được thiết kế để tận dụng bối cảnh phần cứng mới này. Thay vì cố gắng thay thế Pandas từng tính năng một, nó được thiết kế dựa trên ý tưởng rằng phần cứng hiện đại cần phần mềm hiện đại. Thoạt nhìn, chúng trông tương tự Một lý do khiến Polars trở nên phổ biến là ngữ pháp của nó quen thuộc. Ví dụ, việc tải một tệp CSV, chọn các cột nhất định và lọc các hàng nhất định rất giống nhau. Pandas Polars Lượng công sức cần thiết để chuyển đổi giữa hai thư viện khi thực hiện các thao tác đơn giản là rất nhỏ một cách đáng ngạc nhiên. Sự khác biệt thực sự chỉ có thể được nhìn thấy nếu bạn nhìn sâu hơn. Mọi người thường nghĩ rằng Polars nhanh hơn vì nó được viết bằng Rust. Mặc dù Rust góp phần vào hiệu suất của Polars, nhưng đó không phải là toàn bộ câu chuyện. Lý do Polars nhanh là nhờ một số lựa chọn kiến trúc kết hợp với nhau để nâng cao hiệu suất; hai tính năng quan trọng (theo quan điểm của tác giả) là: 1- Thực thi song song Polars, không giống như Pandas, tự động phân tán nhiều hoạt động trên một số lõi CPU. Vì vậy, nếu bạn đang sắp xếp một tập dữ liệu có, chẳng hạn, một triệu hàng, thay vì một tác vụ duy nhất sắp xếp toàn bộ tập dữ liệu, Polars chia công việc cho một số tác vụ khác nhau, sau đó chúng hoạt động cùng một lúc. 2- Thực thi lười (Lazy Execution) Một trong những tính năng sáng tạo nhất của Polars là thực thi lười. Thông thường, mỗi dòng mã được thực hiện ngay lập tức. Mỗi hoạt động tạo ra các kết quả trung gian. Polars thực hiện điều đó một cách khác biệt! Thay vì thực hiện từng lệnh ngay lập tức, nó tạo ra một kế hoạch truy vấn mô tả tất cả những gì bạn muốn đạt được. Chỉ khi bạn yêu cầu kết quả cuối cùng, Polars mới tối ưu hóa toàn bộ quy trình làm việc. Mọi thứ trước .collect() chỉ mô tả phép tính, và chỉ sau đó Polars mới thực hiện kế hoạch đã được tối ưu hóa. Cách tiếp cận này cho phép Polars loại bỏ công việc không cần thiết trước khi truy cập dữ liệu. Vấn đề bộ nhớ cũng quan trọng Hiệu suất không chỉ là vấn đề tốc độ CPU. Chúng ta cũng cần xem xét thời gian cần thiết để di chuyển dữ liệu qua bộ nhớ. Đây thường là yếu tố đóng góp lớn nhất vào tổng thời gian thực thi. Dữ liệu được Polars sử dụng được lưu trữ theo định dạng cột Apache Arrow. Điều này có nghĩa là thay vì lưu trữ thông tin từng hàng một, Arrow lưu trữ mỗi cột dưới dạng một nhóm. Điều này cho phép các hoạt động phân tích làm việc với các khối bộ nhớ liền kề hiệu quả hơn nhiều. Nó cũng cho phép khả năng tương tác không sao chép (zero-copy interoperability) với nhiều thư viện xử lý dữ liệu khác. Trong các ứng dụng AI liên quan đến kỹ thuật tính năng (feature engineering) và tiền xử lý, điều này có thể cắt giảm đáng kể thời gian thực thi. Câu hỏi đặt ra bây giờ là: Nhanh hơn có phải luôn tốt hơn không? Câu trả lời ngắn gọn: “không nhất thiết”. Pandas vẫn là một trong những thư viện mạnh mẽ và được hỗ trợ rộng rãi nhất trong hệ sinh thái Python. Một số lượng lớn các hướng dẫn, thư viện trực quan hóa và khung học máy đều giả định rằng bạn đang sử dụng Pandas. Pandas vẫn là một lựa chọn rất tốt cho nhiều dự án, đặc biệt là đối với những dự án làm việc với các tập dữ liệu nhỏ. Polars bắt đầu phát huy tác dụng khi bạn làm việc với các tập dữ liệu lớn, các phép biến đổi trở nên phức tạp, việc thực thi song song trở nên quan trọng hoặc tiền xử lý trở thành nút thắt cổ chai. Pandas nhìn chung là quá đủ cho các sổ tay khám phá (exploratory notebooks), giảng dạy và các dự án nhỏ hơn. Việc lựa chọn giữa Pandas và Polars không phải là một lựa chọn hoặc-hoặc. Việc hiểu Pandas vẫn rất cần thiết vì phần lớn các tài liệu.

Nguồn tin: Towards Data Science — Tác giả: Sara A. Metwalli. Bản dịch tiếng Việt do AI thực hiện, có thể có sai sót.