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

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

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

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

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

[[314605]]

用户可以使用 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的新数据类型

[[314606]]

来源: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的主要功能,全新优化开启使用吧~

 

责任编辑:赵宁宁 来源: 读芯术
相关推荐

2011-11-16 09:59:50

私有云云存储

2010-04-26 16:51:11

Oracle Deco

2010-06-30 11:04:41

SNMP协议网络管理

2010-03-05 13:53:38

Python Thre

2010-06-01 10:52:14

IPv6交换中心

2023-12-03 18:30:12

2010-06-24 13:57:57

Linux Cat命令

2016-02-19 10:03:30

苹果支付Apple Pay

2009-12-03 13:55:10

路由器主要功能

2016-12-02 16:00:22

服务器托管机柜

2010-03-03 13:50:40

Python文件

2009-03-08 09:15:09

Windows 7微软功能禁用

2010-01-14 17:46:29

智能交换机

2009-12-22 09:41:15

无线路由器

2009-11-20 16:33:02

备份路由器

2014-12-22 10:39:44

虚拟化云平台PaaS

2009-07-07 13:45:52

JDK日志框架

2010-02-22 16:09:18

骨干交换机

2009-11-09 10:51:46

2012-02-03 13:26:21

服务器虚拟化虚拟化架构
点赞
收藏

51CTO技术栈公众号