文档章节

pandas 常用的函数

AllenOR灵感
 AllenOR灵感
发布于 2017/09/10 01:25
字数 1176
阅读 4
收藏 0

这篇教程是翻译MANU JEEVAN PRAKASH写的 Pandas 教程,作者已经授权翻译,这是原文

在Python中,Pandas 是一个很好地数据处理工具。在这篇文章中,我们将讨论最常用的一些方法,我们使用有关橄榄油的数据集,你可以从这个页面下载到实验数据。当你读完这篇文章后,我希望可能帮助你很快的进行数据处理。那我们开始学习吧。

1. 导入数据

这个橄榄油数据集由八个特征值(油中的脂肪酸水平)和九个类别(意大利地区)组成。如下是八个特征值:

palmitic     棕榈酸
palmitoleic   棕榈油酸
stearic    硬脂酸
oleic    油酸
linoleic    亚油酸
linolenic    亚麻酸
arachidic    花生酸
eicosenoic 二十碳烯酸

我们使用 pd.read_csv() 命令来导入数据集,并且返回最上面的5行数据。如下图:


2. 重命名函数

我们计划将数据的第一列的名字 Unnamed: 0 修改为 area_Idili,那么我们可以使用重命名函数来实现这个操作。参数 inplace = True 表示你是否要修改。我们执行这个函数,得到如下结果:


3. Map操作

如果我要将 area_Idili 这一列的前面的数字标号去掉,那么我就会使用 map 函数来实现这个功能。map 函数将会遍历数据的每一行,如果你了解一点 MapReduce 的话,那么久很容易理解这一点了。我们运行这个操作,得到如下结果:


4. apply 函数

apply 函数是一个很灵活的函数,它能将函数应用到每一个列中。比如,我们想要把所有的酸的那一列的值缩小 100 倍,那么我们就可以使用这个函数,如下:


5. shape 和 columns 函数

shape 函数可以得到当前数据的维度,如下:


olive_oil.columns 函数将会返回每一列的列名,如下:


6. unique 函数

unique 函数是一个去重函数,我们应用 olive_oil.region.unique() 函数去得到一共有几个 region ,结果是 [1, 2, 3]应用 olive_oil.area.unique() 函数去得到一共有几个 area ,结果是 [1, 2, 3, 4, 5, 6, 9, 7, 8]。具体如下:


7. crosstab 函数

crosstab 函数能简单计算两个因子的交叉列表,比如我们将这个函数应用到 arearegion 中,得到如下结果:


8. 访问数据的子集

如果我们只想访问数据的某几个子列,而不是全部列,那么可以使用如下方法:


如果我们只想访问其中的一个列,那么可以使用 olive_oil['palmitic'] 或者 olive_oil.palmitic

9. 可视化

plt.hist 函数可以实现可视化,具体如下:



10. groupby 和 statistic 函数

groupby 函数可以按照键值将元素进行一个聚合,比如我们聚合 region 1, 2, 3,可以使用函数 olive_oil.groupby('region') 。并且我们使用 describe 函数来做一个简单的分析,具体结果如下:



你也可以使用 olive_oil.groupby('region').std() 函数来计算标准偏差,具体如下:


11. aggregate 函数

aggregate 函数可以对数据做一个聚合操作,让数据看起来更加方便,比如我们将经过 groupby 的数据中的 mean 进行一个聚合,得到如下结果:


12. join 函数

我们先对数据进行一个重命名,具体如下:


之后,我们做一个 join 操作,具体如下:


13. 元素比较操作

你还可以对数据的特定部分进行屏蔽。

如果我们要去检查数据中的 eicosenoic 列中的元素是否小于 0.05 ,那么我们就可以使用这个操作 olive_oil.eicosenoic < 0.05 ,如果数据是小于 0.05 的,那么操作将返回 true ,如果数据不是,那么操作将返回 false 。具体结果如下:


14. 处理缺失数据

在很多真实数据集中,数据缺失是一个很常见的问题。那么我们经常做的两种方法是丢失缺失的数据或者补全缺失的数据。

我们先创建一个数据集,如下:


dropna 函数可以去除含有缺失元素的数据行,保留完整数据。具体结果如下:


fillna 函数可以补全缺失的数据元素。首先,我们先来创建一个新的数据集,具体如下:


之后,我们来使用 fillna 函数来补全里面的缺失值,具体结果如下:


至此,我们学习完了 14 个常用的方法。如果你想深入学习,那么我推荐你可以去学习这本书 Python for Data Analysis


完整代码,点击这里

本文转载自:http://www.jianshu.com/p/8bf430281a5c

共有 人打赏支持
AllenOR灵感
粉丝 10
博文 2634
码字总数 82983
作品 0
程序员
PySpark SQL常用语法

许多数据分析师都是用HIVE SQL跑数,这里我建议转向PySpark: PySpark的语法是从左到右串行的,便于阅读、理解和修正;SQL的语法是从内到外嵌套的,不方便维护; PySpark继承Python优美、简洁...

真依然很拉风
05/14
0
0
量化投资中常用python代码分析(一)

pandas的IO 量化投资逃不过数据处理,数据处理逃不过数据的读取和存储。一般,最常用的交易数据存储格式是csv,但是csv有一个很大的缺点,就是无论如何,存储起来都是一个文本的格式,例如日...

qtlyx
05/30
0
0
十分钟读懂python的“数据库”语言

JOIN可以用或执行。默认情况下, 将在其索引中加入DataFrame。每个方法都有参数,允许您指定要执行的联接类型(LEFT,RIGHT,INNER,FULL)或要联接的列(列名称或索引)。 假设我们有两个与...

frbevrqbn4l
2017/11/09
0
0
Python+pandas实现时间序列数据扩展案例一则

感谢山东科技大学李超老师提供应用背景。 在分析时序数据的有些场合下,可能每个月只能拿到一个数据,然而实际处理时,需要把这个数据扩展到该月的每天,且每天的数据相同。 演示代码: 某次...

oh5w6hinug43jvrhhb
2017/12/16
0
0
[新手-数据分析师]pandas学习未跟完的函数补齐

pd.Timestamp pd.to_datetime pd.date_range pd.index 貌似Chrome一直崩溃,搞了老两杯咖啡的时间都无法解决。只好放弃治疗了,在这篇中继续未完成的事业,发一篇新的。😓😓😓!貌似最...

inerds
2016/11/24
23
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

OSChina 周日乱弹 —— 种族不同,禁止交往

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @小小编辑:推荐歌曲《苏菲小姐》- 鱼果 《苏菲小姐》- 鱼果 手机党少年们想听歌,请使劲儿戳(这里) @貓夏:下大雨 正是睡觉的好时候 临睡前...

小小编辑
今天
226
6
Python 搭建简单服务器

Python动态服务器网页(需要使用WSGI接口),基本实现步骤如下: 1.等待客户端的链接,服务器会收到一个http协议的请求数据报 2.利用正则表达式对这个请求数据报进行解析(请求方式、提取出文...

代码打碟手
今天
1
0
Confluence 6 删除垃圾内容

属性(profile)垃圾 属性垃圾的定义为,一个垃圾用户在 Confluence 创建了用户,但是这个用户在自己的属性页面中添加了垃圾 URL。 如果你有很多垃圾用户在你的系统中创建了属性,你可以使用...

honeymose
今天
1
0
qduoj~前端~二次开发~打包docker镜像并上传到阿里云容器镜像仓库

上一篇文章https://my.oschina.net/finchxu/blog/1930017记录了怎么在本地修改前端,现在我要把我的修改添加到部署到本地的前端的docker容器中,然后打包这个容器成为一个本地镜像,然后把这...

虚拟世界的懒猫
今天
1
0
UML中 的各种符号含义

Class Notation A class notation consists of three parts: Class Name The name of the class appears in the first partition. Class Attributes Attributes are shown in the second par......

hutaishi
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部