全文共2252字,預計學習時長7分鐘
注意:Pandas 1.0.0rc已於1月9日發布,先前的版本為0.25。
Pandas首個全新主要發行版本包含許多重要功能:更完善的數據框自動匯總、更全面的輸出格式、全新的數據類型以及文檔站點。
在全新的文檔站點上,可以找到完整的發行說明,但小芯認為,技術含量較低的概述也會有所幫助。
用戶可以使用 pip升級Pandas,以便使用其新版本。在撰寫本文時,Pandas1.0仍然是候選版本,這意味著要安裝Pandas1.0需要明確指定其版本。
pip install --upgradepandas==1.0.0rc0
當然,更新可能會破壞某些代碼,因為這是主要版本的發布,因此請務必小心!
此版本的Pandas不再支持Python 2。運行Pandas 1.0+至少需要Python 3.6+,因此請確保使用合適版本的pip 和python。
$ pip --versionpip 19.3.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)$ python--versionPython 3.7.5
用戶可以確認一切正常,並且Pandas使用的是正確版本。
>>> import pandas as pd>>> pd.__version__1.0.0rc0
使用DataFrame.info更好的自動匯總
筆者最喜歡的新功能是優化之後的DataFrame.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 2Data columns (total 3 columns):# Column Non-Null Count Dtype--- - ---- 0 A 3 non-null int641 B 3 non-null object2 C 3 non-null objectdtypes: int64(1), object(2)memory usage: 200.0+ bytes
Markdown表的輸出格式
其次,筆者最喜歡的功能是使用新的 DataFrame.to_markdown 法將數據幀導出到Markdown表中。
>>> df.to_markdown()| | A | B | C ||---:|----:|:---|:-|| 0 | 1 | goodbye | False || 1 | 2 | cruel | True || 2 | 3 | world | False |
這樣一來,通過github gists在Medium等地方顯示表格更加便捷。
booleans and strings的新數據類型
Pandas1.0還為booleans and strings引入了實驗數據類型。
由於這些更改是實驗性的,數據類型的API可能會稍有更改,因此應謹慎使用。但是Pandas建議在合理的地方使用這些數據類型,將來的版本將完善諸如regex匹配之類的特定於類型的操作性能。
默認情況下,Pandas不會自動將數據強制轉換為這些類型。但是,如果明確指示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 2Data columns (total 3 columns):# Column Non-Null Count Dtype--- - ---- 0 A 3 non-null int641 B 3 non-null string2 C 3 non-null booldtypes: int64(1), object(1), string(1)memory usage: 200.0+ bytes
注意Dtype列現在如何反應新類型的string和bool。
新字符串dtype最實用的優勢在於,可以從DataFrame中選擇string列。這樣可以更快地僅對數據集的文本成分進行分析。
df.select_dtypes("string")
以前,只能通過顯式使用其名稱來選擇string類型列。
從今天開始,掌握Pandas 1.0的主要功能,全新優化開啟使用吧~
留言點讚關注
我們一起分享AI學習與發展的乾貨
如轉載,請後臺留言,遵守轉載規範