Những gì Pandas 1.0 mang lại cho chúng ta

Những gì Pandas 1.0 mang lại cho chúng ta

Vào ngày 9 tháng 1.0.0, Pandas 0.25rc đã được phát hành. Phiên bản trước của thư viện là XNUMX.

Bản phát hành chính đầu tiên chứa nhiều tính năng mới tuyệt vời, bao gồm tính năng tóm tắt khung dữ liệu tự động được cải tiến, nhiều định dạng đầu ra hơn, kiểu dữ liệu mới và thậm chí cả trang tài liệu mới.

Tất cả các thay đổi có thể được xem đây, trong bài viết, chúng tôi sẽ giới hạn ở một phần đánh giá nhỏ, ít mang tính kỹ thuật hơn về những điều quan trọng nhất.

Bạn có thể cài đặt thư viện như bình thường bằng cách sử dụng đánh rớt, nhưng tại thời điểm viết bài Pandas 1.0 vẫn còn phát hành ứng cử viên, bạn sẽ cần chỉ định rõ ràng phiên bản:

pip install --upgrade pandas==1.0.0rc0

Hãy cẩn thận: vì đây là bản phát hành lớn nên bản cập nhật có thể phá vỡ mã cũ!

Nhân tiện, hỗ trợ cho Python 2 đã bị ngừng hoàn toàn kể từ phiên bản này (lý do chính đáng có thể là gì cập nhật - khoảng. dịch). Pandas 1.0 yêu cầu ít nhất Python 3.6+, vì vậy nếu bạn không chắc chắn, hãy kiểm tra xem bạn đã cài đặt cái nào:

$ pip --version
pip 19.3.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)

$ python --version
Python 3.7.5

Cách dễ nhất để kiểm tra phiên bản Pandas là:

>>> import pandas as pd
>>> pd.__version__
1.0.0rc0

Cải thiện tính năng tự động tóm tắt với DataFrame.info

Sự đổi mới yêu thích của tôi là cập nhật phương pháp DataFrame.info. Hàm này đã trở nên dễ đọc hơn nhiều, giúp quá trình khám phá dữ liệu trở nên dễ dàng hơn:

>>> df = pd.DataFrame({
...:   'A': [1,2,3], 
...:   'B': ["goodbye", "cruel", "world"], 
...:   'C': [False, True, False]
...:})
>>> df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 3 columns):
 #   Column  Non-Null Count  Dtype
---  ------  --------------  -----
 0   A       3 non-null      int64
 1   B       3 non-null      object
 2   C       3 non-null      object
dtypes: int64(1), object(2)
memory usage: 200.0+ bytes

Xuất bảng ở định dạng Markdown

Một cải tiến thú vị không kém là khả năng xuất các khung dữ liệu sang bảng Markdown bằng cách sử dụng DataFrame.to_markdown.

>>> df.to_markdown()
|    |   A | B       | C     |
|---:|----:|:--------|:------|
|  0 |   1 | goodbye | False |
|  1 |   2 | cruel   | True  |
|  2 |   3 | world   | False |

Điều này giúp việc xuất bản bảng trên các trang như Medium bằng cách sử dụng ý chính của github trở nên dễ dàng hơn nhiều.

Những gì Pandas 1.0 mang lại cho chúng ta

Các kiểu mới cho chuỗi và booleans

Bản phát hành Pandas 1.0 cũng được bổ sung thêm các tính năng mới thực nghiệm các loại. API của họ có thể vẫn thay đổi, vì vậy hãy thận trọng khi sử dụng. Nhưng nói chung, Pandas khuyên bạn nên sử dụng các kiểu mới ở bất cứ nơi nào có ý nghĩa.

Hiện tại, việc phân vai cần được thực hiện một cách rõ ràng:

>>> B = pd.Series(["goodbye", "cruel", "world"], dtype="string")
>>> C = pd.Series([False, True, False], dtype="bool")
>>> df.B = B, df.C = C
>>> df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 3 columns):
 #   Column  Non-Null Count  Dtype
---  ------  --------------  -----
 0   A       3 non-null      int64
 1   B       3 non-null      string
 2   C       3 non-null      bool
dtypes: int64(1), object(1), string(1)
memory usage: 200.0+ bytes

Chú ý cách cột loại D hiển thị các loại mới − chuỗi и bool.

Tính năng hữu ích nhất của kiểu chuỗi mới là khả năng chọn chỉ các cột hàng từ các khung dữ liệu. Điều này có thể làm cho việc phân tích dữ liệu văn bản dễ dàng hơn nhiều:

df.select_dtypes("string")

Trước đây, không thể chọn cột hàng nếu không chỉ định rõ tên.

Bạn có thể đọc thêm về các loại mới đây.

Cảm ơn bạn đã đọc! Danh sách đầy đủ các thay đổi, như đã đề cập, có thể được xem đây.

Nguồn: www.habr.com

Thêm một lời nhận xét