当前位置:主页 > 查看内容

带你一起盘点,Pandas1.0的主要功能

发布时间:2021-07-01 00:00| 位朋友查看

简介:注意:Pandas 1.0.0rc已于1月9日发布,先前的版本为0.25。 Pandas首个全新主要发行版本包含许多重要功能:更完善的数据框自动汇总、更全面的输出格式、全新的数据类型以及文档站点。 在全新的文档站点上,可以找到完整的发行说明,但小芯认为,技术含量较低……

注意:Pandas 1.0.0rc已于1月9日发布,先前的版本为0.25。

Pandas首个全新主要发行版本包含许多重要功能:更完善的数据框自动汇总、更全面的输出格式、全新的数据类型以及文档站点。

在全新的文档站点上,可以找到完整的发行说明,但小芯认为,技术含量较低的概述也会有所帮助。

用户可以使用 pip升级Pandas,以便使用其新版本。在撰写本文时,Pandas1.0仍然是候选版本,这意味着要安装Pandas1.0需要明确指定其版本。

  1. pip install --upgradepandas==1.0.0rc0 

当然,更新可能会破坏某些代码,因为这是主要版本的发布,因此请务必小心! 此版本的Pandas不再支持Python 2。运行Pandas 1.0+至少需要Python 3.6+,因此请确保使用合适版本的pip 和python。

  1. $ pip --version 
  2. pip 19.3.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)$ python--version 
  3. Python 3.7.5 

用户可以确认一切正常,并且Pandas使用的是正确版本。

  1. >>> import pandas as pd 
  2. >>> pd.__version__ 
  3. 1.0.0rc0 

使用DataFrame.info更好的自动汇总

笔者最喜欢的新功能是优化之后的DataFrame.info法。现在,它使用了更具可读性的格式,从而使数据探索过程更加容易。

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

Markdown表的输出格式

其次,笔者最喜欢的功能是使用新的 DataFrame.to_markdown 法将数据帧导出到Markdown表中。

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

这样一来,通过github gists在Medium等地方显示表格更加便捷。

booleans and strings的新数据类型

来源:Pexels

Pandas1.0还为booleans and strings引入了实验数据类型。

由于这些更改是实验性的,数据类型的API可能会稍有更改,因此应谨慎使用。但是Pandas建议在合理的地方使用这些数据类型,将来的版本将完善诸如regex匹配之类的特定于类型的操作性能。

默认情况下,Pandas不会自动将数据强制转换为这些类型。但是,如果明确指示Pandas,仍然可以使用它们。

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

注意Dtype列现在如何反应新类型的string和bool。

新字符串dtype最实用的优势在于,可以从DataFrame中选择string列。这样可以更快地仅对数据集的文本成分进行分析。

  1. df.select_dtypes("string") 

以前,只能通过显式使用其名称来选择string类型列。

从今天开始,掌握Pandas 1.0的主要功能,全新优化开启使用吧~


本文转载自网络,原文链接:http://mp.weixin.qq.com/s?__biz=MzI2NjkyNDQ3Mw==&mid=2247492465&idx=2&sn=9008a699b7fd836c7c95da4b26022d7a&chksm=ea841ba7ddf392b15087d55981b97522168c810807e9f20d346bca6e7fc6560b2f7f0d810886&mpshare=1&s
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文


随机推荐