[译] 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 指南:做更高效的数据科学家


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

查看所有标签

猜你喜欢:

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

Build Your Own Web Site the Right Way Using HTML & CSS

Build Your Own Web Site the Right Way Using HTML & CSS

Ian Lloyd / SitePoint / 2006-05-02 / USD 29.95

Build Your Own Website The Right Way Using HTML & CSS teaches web development from scratch, without assuming any previous knowledge of HTML, CSS or web development techniques. This book introduces you......一起来看看 《Build Your Own Web Site the Right Way Using HTML & CSS》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

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

RGB CMYK 互转工具