选自Medium

作者:Tom Waterman机器之心编译参与:李诗萌、魔王

2020 年 1 月 9 日 Pandas 1.0.0rc 版本面世,Facebook 数据科学家 Tom Waterman 撰文概述了其新功能。本文助你轻松玩转 Pandas 1.0。

常用数据科学库 Pandas 刚刚年满十二岁,现在已经发布到 1.0.0 版。首个 Pandas 1.0 候选版本显示出,现在的 Pandas 在遇到缺失值时会接收一个新的标量,遵循语义化版本控制(Semantic Versioning)形成了新的弃用策略,网站也经过了重新设计……

注意:Pandas 1.0.0rc 版本于 2020 年 1 月 9 日发布,之前的版本是 0.25。最新发布的 Pandas 版本包含许多优秀功能,如更好地自动汇总数据帧、更多输出格式、新的数据类型,甚至还有新的文档站点。完整的版本说明参见:https://dev.pandas.io/docs/whatsnew/v1.0.0.html本文将用较通俗的方式介绍 Pandas 新版本,希望对大家有所帮助。要使用新版 Pandas,用户可以用 pip 轻松升级。截至本文撰写时,Pandas 1.0 仍是候选版本,这意味着安装时需要明确指定版本号。

pip install --upgrade pandas==1.0.0rc0

当然,升级可能会破坏部分代码,因为这次发布的是主要版本,所以请务必小心。这一版 Pandas 也不再支持 Python 2。要使用 1.0+版本的 Pandas,至少需要 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 pd1.0.0rc0

使用 DataFrame.info 更好地自动汇总数据帧我最喜欢的新功能是改进后的 DataFrame.info (http://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      int64 1   B       3 non-null      object 2   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 Gist,在 Medium 等处更容易地展示数据。新数据类型:布尔值和字符串Pandas 1.0 还实验性地引入了新的数据类型:布尔值和字符串。由于这些改变是实验性的,因此数据类型的 API 可能会有轻微的变动,所以用户在使用时务必谨慎操作。不过,Pandas 推荐用户合理使用这些数据类型,在未来的版本中也将改善特定类型运算的性能,比如正则表达式匹配(Regex Match)。默认情况下,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      int64 1   B       3 non-null      string 2   C       3 non-null      booldtypes: int64(1), object(1), string(1)memory usage: 200.0+ bytes

注意现在的 Dtype 列是如何反映新数据类型 string 和 bool 的。字符串数据类型最大的用处是,你可以从数据帧中只选择字符串列,这样就可以更快地分析数据集中的文本。

df.select_dtypes("string")

在此之前,你只能通过指定名称来选择字符串类型列。更多有关新数据类型的说明,参见:https://dev.pandas.io/docs/user_guide/text.html?highlight=string。弃用新版本弃用了许多功能。不过最值得注意的是,从 DataFrameGroupBy 对象中选择列时,输入 key 列表或 key 元组的方法已被弃用。现在要用 item 列表,而非键列表。另一个最常用的变动出现在 DataFrame.hist() 和 Series.his() 中。现在 figsize 没有默认值,要想指定绘图的大小,需要输入元组。Bug 修复新版本还修复了大量 bug,提高了数据分析的可信度。此前,在遇到分类数据以外的值时,fillna() 会引发 ValueError。因此,它现在纳入 assert 来测试不一致,并处理异常。另外,在将分类数据转换为整数时,也会产生错误的输出。特别是对于 NaN 值,其输出往往是错误的。因此,新版 Pandas 修复了这个 bug。原文链接:https://towardsdatascience.com/top-features-of-pandas-1-0-26abff08d1b6文为机器之心编译,转载请联系本公众号获得授权✄------------------------------------------------加入机器之心(全职记者 / 实习生):hr@jiqizhixin.com投稿或寻求报道:content@jiqizhixin.com广告 & 商务合作:bd@jiqizhixin.com

pandas 选择数据 字符串_读完本文,轻松玩转数据处理利器Pandas 1.0相关推荐

  1. Pandas选择数据

    Pandas是一个非常好用的工具,可以用来处理各种格式的数据,例如过滤注释信息生成最终结果.此文仅仅是记录如何在Pandas中选择数据.当然,这仅仅是从网络上获取的一部分.侵联删. import pa ...

  2. pandas 更改单元格的值_懂Excel轻松入门Python数据分析包pandas(二十四):连续区域...

    此系列文章收录在公众号中:数据大宇宙 > 数据处理 >E-pd 转发本文并私信我"python",即可获得Python资料以及更多系列文章(持续更新的) 经常听别人说 ...

  3. 可自定义匹配规则查找控件_懂Excel轻松入门Python数据分析包pandas(二十八):二分法查找...

    此系列文章收录在公众号中:数据大宇宙 > 数据处理 > E-pd 转发本文并私信我"python",即可获得Python资料以及更多系列文章(持续更新的) 经常听别人说 ...

  4. 获取同花顺数据接口_如何获取价值信息?数据分析“神器”pandas了解一下!

    来源:雪球App,作者: 同花顺-iFinD,(https://xueqiu.com/6706494343/142846912) 金融市场往往充斥着海量的交易.运行等数据,同花顺iFinD数据接口通过 ...

  5. Vega数据可视化工具——教你轻松玩转大数据可视化 | 附代码

    首发地址:https://yq.aliyun.com/articles/145929 目前我们处于信息时代,万物联网的时代已经到来.从我们的日常生活中可以发现,小到身边的智能家居,再到平时出行的共享单 ...

  6. access 合并多行字符串_八种方法玩转字符串合并,这篇文章全都给你讲明白!...

    在日常工作过程中,经常会遇到要把一串字符拼接到一起的情况. 你是不是还一直在用"&"连接符来合并字符串呢?当遇到很多个字符串需要合并的时候,这种方法又费时又费力,那有没有其 ...

  7. ubuntu20.04中安装划词翻译_教你轻松玩转免安装的网页翻译插件“有道网页翻译2.0”...

    大家在日常网页浏览中肯定多多少少都会碰到英文网站,这时候往往需要花费非常多的时候去自行理解,效率低下,又或者借助浏览器自带的翻译功能进行翻译,但又可能遇到翻译不准的情况. 现在这个问题可以解决啦!&q ...

  8. python批量拷贝数据脚本_使用python来玩转ensp~3-写个批量备份配置文件脚本

    目录回顾: 根据前面所学习的知识,可以远程登录设备下发命令等,现在已经可以转化为生产力了哈,今天小Q要实现的就是一个批量备份配置的小东西, 小Q通过学习产品文档了解到,可以通过以下四种方法进行备份配置 ...

  9. pandas索引和选择数据

    使用pandas索引和选择数据时,总是需要百度,因此决定对pandas.DataFrame中的索引和选择方法做个总结.所用的pandas版本号为0.20.1 pandas中有三种索引方法:.loc,. ...

最新文章

  1. 使用iOS原生sqlite3框架对sqlite数据库进行操作
  2. 波卡链Substrate (7)Babe协议六“Secondary slot leader”
  3. Python教程:多变量的灵活处理
  4. xml对象映射_将对象映射到多个XML模式–天气示例
  5. python ansys workbench联动_联合ANSYS WORKBENCH和经典界面进行后处理
  6. Decision Tree学习笔记(基础篇)
  7. 移植性问题のerror C2664: strcpy : 不能将参数 2 从 CString 转换为 const char *怎么回事?...
  8. 下面是java语言的关键字是_下面4个选项中,哪个是Java语言的关键字:
  9. Java的IO操作中关闭流的注意点
  10. MySQL卸载干净检查_MySQL数据库卸载干净处理
  11. 数据分析师岗位需求分析
  12. 车联网V2X深度应用,聚焦CIDI智能网联交叉路口技术
  13. 【剑桥英语I优加】剑桥pet证书要多久才能拿到
  14. 霍格沃兹见!用RNN和TensorFlow创作自己的《哈利波特》小说
  15. Vue3生命周期及事件写法
  16. 【转载】不用加号和减号计算两个数的加法
  17. XOR Guessing
  18. SQL 身份证获取性别
  19. 美国-机械故障预防技术学会MFPT
  20. 学习笔记 之 计算机网络:自顶向下方法(原书第7版)

热门文章

  1. [靠谱原创!] SSH免密登录设置----原理详解+具体操作(全国人民看完都懂了!)
  2. 【dfs+理解题意+构造】【待重做】codeforces E. Ice cream coloring
  3. Leetcode: Palindrome Linked List
  4. window.location.href = basePath + paper/deleteExpertComment.action?expertId=+$(this).prev().val();
  5. Entity Framework 5自动生成ObjectContext或者DbContext的设置
  6. maven中scope属性
  7. 夯实Java基础(二十一)——Java反射机制
  8. What is Dark Net
  9. vue中ref的使用(this.$refs获取为undefined)
  10. (整理)REHL6.5_Yum安装Reids