pandas 3.1.0 ra mắt ngày 22/10/2026, bản vá 3.1.1 theo sau ngày 4/11. Ba điểm đáng chú ý: read_csv() nhanh hơn 2–3 lần nhờ đọc song song, phương thức mới DataFrame.select() kết hợp pd.col() để chọn và tính cột trong một câu lệnh, và tham số inplace=True bắt đầu bị loại bỏ. Nâng cấp thẳng lên 3.1.1; cần Python 3.11 trở lên.

Không phải bản lớn kiểu pandas 3.0, nhưng ai làm việc với dữ liệu dạng bảng cũng cảm nhận được ngay: CSV mở nhanh hơn, code chọn cột gọn hơn.

Đọc CSV nhanh hơn 2–3 lần, tự động đọc song song

Điểm đáng tiền nhất nằm ở read_csv(): tách token, suy luận kiểu dữ liệu và chuyển đổi cột đều nhanh hơn, đọc đơn luồng đã nhanh gấp 2–3 lần so với pandas 3.0. Với file CSV cục bộ, không nén, từ 5 MB trở lên, pandas tự chia file ra đọc song song trên nhiều lõi CPU, kết quả giống hệt đọc tuần tự.

DataFrame.select() và pd.col(): chọn và tính cột trong một câu lệnh

Phương thức mới DataFrame.select() cho phép chọn cột theo tên, tính cột mới bằng biểu thức pd.col(), hoặc đặt tên cột mới bằng tham số từ khóa — cột tính sau có thể tham chiếu cột tính trước trong cùng một lệnh.

df.select("first_name", age_months=pd.col("age") * 12)
# Trả về DataFrame chỉ gồm first_name và age_months,
# không cần gọi assign() rồi chọn lại như trước.

filter() nhận mặt nạ boolean, inplace=True bắt đầu bị loại bỏ

DataFrame.filter() và Series.filter() giờ nhận mặt nạ boolean qua tham số cond — có thể là Series boolean, hàm trả về mặt nạ, hoặc biểu thức pd.col(). Cùng lúc, pandas 3.1 deprecated tham số inplace ở những phương thức vốn không sửa dữ liệu tại chỗ (theo PDEP-8): chúng vẫn tạo bản sao nên inplace=True chỉ tạo cảm giác tiết kiệm bộ nhớ. Code cũ như df.reset_index(inplace=True) sẽ hiện cảnh báo; cách mới là gán lại kết quả, df = df.reset_index().

Nâng cấp thế nào

pandas 3.1.1 là bản nên cài: bản vá ngày 4/11/2026 sửa lỗi hồi quy khiến read_csv và to_csv xử lý sai đối tượng đường dẫn, có thể ghi file dở dang. Chạy pip install –upgrade pandas; pandas 3.x cần Python 3.11 trở lên và NumPy 2.0.2 trở lên.

Điều này có ý nghĩa gì với bạn

Nếu bạn đọc CSV hàng ngày, pandas 3.1 là bản nâng cấp “không cần suy nghĩ”: chỉ đổi phiên bản, pipeline đọc file đã nhanh hơn hẳn mà không sửa một dòng code. DataFrame.select() đáng thử cho code mới — nó gộp chọn cột và tính cột thành một bước, giúp chuỗi xử lý dữ liệu gọn và dễ đọc hơn. Còn cảnh báo inplace là tín hiệu để dọn code cũ dần: để cảnh báo dẫn đường, sửa theo từng file mỗi khi chạm vào.

Bài viết liên quan

Câu hỏi thường gặp

Có nên nâng cấp lên pandas 3.1 ngay không?

Nên, nếu bạn dùng Python 3.11 trở lên. Nâng cấp thẳng lên 3.1.1 để tránh lỗi hồi quy ở 3.1.0, và chạy lại bộ test trước khi đưa lên production.

Đọc CSV song song có áp dụng cho mọi file không?

Không. Chỉ file CSV cục bộ, không nén, từ 5 MB trở lên. File nén hoặc đọc qua URL vẫn đọc tuần tự.

inplace=True có bị xóa ngay trong pandas 3.1 không?

Chưa. pandas 3.1 chỉ deprecated (hiện cảnh báo) tham số inplace ở các phương thức không thực sự làm việc tại chỗ; nó sẽ bị xóa ở một bản lớn sau, nên sửa dần theo cảnh báo.

💬 Tin này ảnh hưởng tới dự án của bạn thế nào? Chia sẻ góc nhìn của bạn trong phần bình luận — mình đọc hết và sẽ tổng hợp những ý hay nhất.

Nguồn tham khảo