Pandas 1.0 為我們帶來了什麼

Pandas 1.0 為我們帶來了什麼

9月1.0.0日,Pandas 0.25rc發布。該庫的先前版本是 XNUMX。

第一個主要版本包含許多出色的新功能,包括改進的自動資料幀摘要、更多輸出格式、新資料類型,甚至是新的文件網站。

可以查看所有更改 這裡,在本文中,我們將限制自己對最重要的事情進行小的、技術性較低的回顧。

您可以像平常一樣安裝該程式庫 點子,但由於在撰寫本文時 Pandas 1.0 仍然是 候選發布版,您需要明確指定版本:

pip install --upgrade pandas==1.0.0rc0

請注意:由於這是一個主要版本,更新可能會破壞舊程式碼!

順便說一句,自從該版本以來,對 Python 2 的支援已完全停止(有什麼好的理由 更新 — 約。翻譯)。 Pandas 1.0 至少需要 Python 3.6+,所以如果您不確定,請檢查您安裝了哪一個:

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

$ python --version
Python 3.7.5

檢查 Pandas 版本的最簡單方法是:

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

使用 DataFrame.info 改進自動匯總

我最喜歡的創新是方法的更新 數據框.info。此函數變得更具可讀性,使資料探索過程變得更加容易:

>>> 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

以 Markdown 格式輸出表格

一個同樣令人愉快的創新是能夠使用以下命令將資料幀匯出到 Markdown 表: DataFrame.to_markdown.

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

這使得使用 github gists 在 Medium 等網站上發布表格變得更加容易。

Pandas 1.0 為我們帶來了什麼

字串和布林值的新類型

Pandas 1.0 版本也新增了新的 實驗性的 類型。他們的 API 可能仍會發生變化,因此請謹慎使用。但總的來說,Pandas 建議在任何有意義的地方使用新類型。

目前,需要明確地進行轉換:

>>> 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

注意該列如何 D型 顯示新類型 - и 布爾.

新字串類型最有用的功能是可選擇性 僅行列 來自資料幀。這可以使解析文字資料變得更加容易:

df.select_dtypes("string")

以前,如果不明確指定名稱,則無法選擇行列。

您可以閱讀有關新類型的更多信息 這裡.

感謝您的閱讀!如前所述,可以查看完整的變更列表 這裡.

來源: www.habr.com

添加評論