[译] pandas 指南:做更高效的数据科学家

栏目: 数据库 · 发布时间: 6年前

内容简介:云栖君导读:Python是开源的,所以有很多开源固有的问题。如果你是Python新手,很难知道针对特定任务的包哪个是最好的。你需要有经验的人来告诉你。今天我要告诉你们的是:在数据科学中,有一个软件包是你们需要学习的,那就是pandas。而pandas真正有趣的地方是,很多其他的包也在里面。pandas是一个核心包,因此它具有来自其他各种包的特性。

云栖君导读:Python是开源的,所以有很多开源固有的问题。如果你是 Python 新手,很难知道针对特定任务的包哪个是最好的。你需要有经验的人来告诉你。今天我要告诉你们的是:在数据科学中,有一个软件包是你们需要学习的,那就是pandas。

[译] pandas 指南:做更高效的数据科学家

而pandas真正有趣的地方是,很多其他的包也在里面。pandas是一个核心包,因此它具有来自其他各种包的特性。

pandas类似于Python中的Excel:它使用表(即DataFrame)并对数据进行转换,但它还能做更多。

如果你已经熟悉Python,可以直接进入第三部分。

现在让我们开始:

pandas包最基本的功能

1、读取数据:

[译] pandas 指南:做更高效的数据科学家

sep变量代表分隔符。因为Excel中的csv分隔符是“;”,因此需要显示它。编码设置为“latin-1”以读取法语字符。nrows=1000表示读取前1000行。skiprows=[2,5]表示在读取文件时将删除第2行和第5行

最常用的函数:read_csv, read_excel

还有一些很不错的函数:read_clipboard、read_sql

2、写入数据

index=None将简单地按原样写入数据。如果你不写index=None,会得到额外的行。

我通常不使用其他函数,比如to_excel,to_json,to_pickle,to_csv,虽然它们也做得很好,但是csv是保存表最常用的方法。

3、检查数据:

[译] pandas 指南:做更高效的数据科学家

.head(3)打印数据的前3行,.tail()函数将查看数据的最后一行。

打印第8行。

将第8行值打印在“column_1”上。

打印第4行到第6行。

pandas的初级功能

1、逻辑运算

[译] pandas 指南:做更高效的数据科学家

如果要根据逻辑操作对数据进行运算,在使用& (AND)、~ (NOT)和| (OR)等逻辑操作之前和之后添加“(”&“)”。

不要为同一列编写多个OR,最好是使用.isin()函数。

2、基本绘图

多亏了matplotlib包,这个特性才得以实现。就像我们在介绍中说的,它可以直接用在pandas身上。

[译] pandas 指南:做更高效的数据科学家

图 1 .plot() 输出示例

绘制分布图(直方图)

[译] pandas 指南:做更高效的数据科学家

图 2 .hist() 函数输出示例

如果你使用Jupyter,在绘图之前,不要忘记写这一行(在代码中只写一次)

3、更新数据

将' column_1 '的第8行值替换为' english '

在一行中更改多行值

3、pandas的中级功能

现在你可以做一些在Excel中很容易做的事情。让我们来挖掘一些在Excel中做不到的神奇事情。

1、计算功能

[译] pandas 指南:做更高效的数据科学家

图 3 .value_counts() 输出示例

2、对全行、全列或所有数据的操作

len()函数应用于“column_1”的每个元素

map()操作将一个函数应用于列的每个元素。

pandas的另一个特点是进行链式操作。它可以帮助你在一行代码中执行多个操作,从而更加简单和高效。

.apply()将函数应用于列。

.applymap()将一个函数应用于表(DataFrame)中的所有单元格。

3、tqdm包

在处理大型数据集时,pandas可能需要一些时间来运行.map()、.apply()、.applymap()操作。tqdm是一个非常有用的包,它可以帮助预测这些操作何时完成。

[译] pandas 指南:做更高效的数据科学家

用pandas设置tqdm

将.map()替换为.progress_map(),.apply()和.applymap()也是一样

图4 这是你在Jupyter上看到的的进度条

4、相关矩阵和散射矩阵

[译] pandas 指南:做更高效的数据科学家

[译] pandas 指南:做更高效的数据科学家

图 5.corr() 函数会得到相关矩阵

[译] pandas 指南:做更高效的数据科学家

图 6散射矩阵的例子,它绘制同一图表中两列的所有组合

pandas的高级功能

1、行列合并

在pandas中,行列合并非常简单。

合并3列只需要一行代码

2、分组

分组一开始并不简单,但是如果掌握其语法,你将发现这非常简单。

按列分组,选择要在其上操作函数的另一列。reset_index()将数据重新生成DataFrame(表)

[译] pandas 指南:做更高效的数据科学家

图 7使用链式操作,只需一行代码

3、遍历行

[译] pandas 指南:做更高效的数据科学家

iterrows()循环两个变量:行索引和行(上面代码中的i和row)。

总体来说,pandas是一个帮助数据科学家快速阅读和理解数据的 工具 包,它也可以说是Python如此优秀的原因之一。我还可以展示更多pandas包其他有趣的特点,但以上所述足以让人理解为什么数据科学家离不开pandas包。总之,pandas包有以下特点:

1、 简单易用,隐藏了所有复杂和抽象的计算;

2、非常直观;

3、快速。

本文由阿里云云栖社区组织翻译。

文章原标题《Be a more efficient data scientist, master pandas with this guide

》,译者:黄小凡,审校:袁虎。

[译] pandas 指南:做更高效的数据科学家

程序员必看电影片单,高分烧脑假期必备!

[译] pandas 指南:做更高效的数据科学家

终于等到你!阿里正式向 Apache Flink 贡献 Blink 源码

[译] pandas 指南:做更高效的数据科学家

2019年开发者必读!20位阿里技术大牛们帮你列了一份经典书单!

[译] pandas 指南:做更高效的数据科学家


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

从0开始做运营 入门篇

从0开始做运营 入门篇

张亮 / 4.99元

此书是《从零开始做运营》系列的入门篇。 在互联网产品经理热的今天,关于传统的网站与产品运营的书籍一直非常缺乏,很多有志于互联网行业的年轻人并不明白一款产品、一个网站的策划、上线、成长、成熟直到衰落的过程中,除了产品和网站本身的设计之外,还有一块非常重要的工作是针对网站与产品生命周期的持续运营。 网站与产品运营是一个非常辛苦而非常有趣的事情,希望本书可以为有志于从事互联网网站与产品运营的......一起来看看 《从0开始做运营 入门篇》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具