作者:Paul

编者按:

pandas提供了很多常用的数学和统计方法,本文中将用十分详细的例子来具体进行介绍;另外在许多数据分析工作中,缺失数据是经常发生的,将会具体介绍如何处理缺失数据。本文十分详细并实在低介绍了pandas处理数据的基本方法,十分建议各位对pandas学习感兴趣的同学下载代码亲自运行进行实际操作。

pandas 索引对象

pandas的索引对象负责管理轴标签和其他元数据(比如轴名称等)。构建Series或DataFrame时,所用到的任何数组或其他序列的标签都会被转换成一个Index。

Index对象是不可修改的(immutable),因此用户不能对其进行修改。不可修改性非常重要,因为这样才能使Index对象在多个数据结构之间安全共享。

pandas中主要的index对象

Index的方法和属性

实例如下

Pandas 重新索引

● 创建一个适应新索引的新对象,该Series的reindex将会根据新索引进行重排。如果某个索引值当前不存在,就引入缺失值。

● 对于时间序列这样的有序数据,重新索引时可能需要做一些插值处理。method选项即可达到此目的。

reindex函数的参数

丢弃指定轴上的项

丢弃某条轴上的一个或多个项很简单,只要有一个索引数组或列表即可。由于需要执行一些数据整理和集合逻辑,所以drop方法返回的是一个在指定轴上删除了指定值的新对象

Pandas 索引、选取和过滤

● Series索引(obj[...])的工作方式类似于NumPy数组的索引,只不过Series的索引值不只是整数。

● 利用标签的切片运算与普通的Python切片运算不同,其末端是包含的(inclusive)。

● 对DataFrame进行索引其实就是获取一个或多个列

● 为了在DataFrame的行上进行标签索引,引入了专门的索引字段ix。

DataFrame的索引选项

Pandas 算术运算和数据对齐

● 对不同的索引对象进行算术运算

● 自动数据对齐在不重叠的索引处引入了NA值,缺失值会在算术运算过程中传播。

● 对于DataFrame,对齐操作会同时发生在行和列上。

● fill_value参数

● DataFrame和Series之间的运算

Pandas 函数应用和映射

● numpy的ufuncs(元素级数组方法)

● DataFrame的apply方法

● 对象的applymap方法(因为Series有一个应用于元素级的map方法)

Pandas 排序和排名

● 对行或列索引进行排序

● 对于DataFrame,根据任意一个轴上的索引进行排序

● 可以指定升序降序

● 按值排序

● 对于DataFrame,可以指定按值排序的列

● rank函数

Pandas 带有重复值的索引

● 对于重复索引,返回Series,对应单个值的索引则返回标量。

Pandas 汇总和计算描述统计

● 常用方法选项

Pandas 常用描述和汇总统计函数

● 数值型和非数值型的区别

● NA值被自动排查,除非通过skipna选项

Pandas 汇总和计算描述统计 相关系数与协方差

● 相关系数:相关系数是用以反映变量之间相关关系密切程度的统计指标。

● 协方差:从直观上来看,协方差表示的是两个变量总体误差的期望。如果两个变量的变化趋势一致,也就是说如果其中一个大于自身的期望值时另外一个也大于自身的期望值,那么两个变量之间的协方差就是正值;如果两个变量的变化趋势相反,即其中一个变量大于自身的期望值时另外一个却小于自身的期望值,那么两个变量之间的协方差就是负值。

Pandas 汇总和计算描述统计 唯一值以及成员资格

常用方法

Pandas 处理缺失数据

● NA处理方法

● NaN(Not a Number)表示浮点数和非浮点数组中的缺失数据

● None也被当作NA处理

Pandas 滤除缺失数据

● dropna

● 布尔索引

● DatFrame默认丢弃任何含有缺失值的行

● how参数控制行为,axis参数选择轴,thresh参数控制留下的数量

Pandas 填充缺失数据

● fillna

● inplace参数控制返回新对象还是就地修改

Pandas 层次化索引

● 使你能在一个轴上拥有多个(两个以上)索引级别。抽象的说,它使你能以低纬度形式处理高维度数据。

● 通过stack与unstack变换DataFrame

重新分级顺序

● 索引交换

● 索引重新排序

根据级别汇总统计

● 指定索引级别和轴

层次化索引 使用DataFrame的列

● 将指定列变为索引

● 移除或保留对象

● reset_index恢复

整数索引

● 歧义的产生

● 可靠的,不考虑索引类型的,基于位置的索引。

面板(Pannel)数据

通过三维ndarray创建pannel对象

● 通过ix[...]选取需要的数据

● 访问顺序:item -> major -> minor

● 通过stack展现面板数据

相关文章推荐

要把一件事说的有滋有味,得要慢慢地说,不能着急,这样才能体察人情

读完这篇文章不过瘾?请继续关注我们上一期的文章,来看看我们是如何用python分析周杰伦专辑所有的歌词,并用热词重写《说好不哭》。

点击蓝字标题,即可阅读 数据科学 | 分析周杰伦75775字歌词后,我们用他最爱的词重写了《说好不哭》

其他

数据科学 | 避坑!Python特征重要性分析中存在的问题

数据科学 | 『运筹OR帷幄』数据分析、可视化、爬虫系列教程

pandas plot label_数据科学| 手把手教你用 pandas 索引、汇总、处理缺失数据相关推荐

  1. 字段缺失_数据科学| 手把手教你用 pandas 索引、汇总、处理缺失数据

    作者:Paul 编者按: pandas提供了很多常用的数学和统计方法,本文中将用十分详细的例子来具体进行介绍:另外在许多数据分析工作中,缺失数据是经常发生的,将会具体介绍如何处理缺失数据.本文十分详细 ...

  2. 手把手教你入侵网站修改数据_手把手教你使用Python抓取QQ音乐数据(第四弹)...

    [一.项目目标] 通过手把手教你使用Python抓取QQ音乐数据(第一弹)我们实现了获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 通过手把手教你使用Python抓取QQ音乐 ...

  3. python数据分析图_Python数据分析:手把手教你用Pandas生成可视化图表的教程

    大家都知道,Matplotlib 是众多 Python 可视化包的鼻祖,也是Python最常用的标准可视化库,其功能非常强大,同时也非常复杂,想要搞明白并非易事.但自从Python进入3.0时代以后, ...

  4. 【手把手教你如何从Tushare库下载股票数据,并保存在硬盘当中,第一篇数据过滤】

    手把手教你如何从Tushare库下载股票数据,并保存在硬盘当中.第一篇数据过滤 前言 一.Tushare是什么? 二.代码 1.引入库 2.交易日的逻辑 3.先把每天个股的基础数据调出来 3.接下来我 ...

  5. 手把手教你使用Python抓取QQ音乐数据!

    [一.项目目标] 通过手把手教你使用Python抓取QQ音乐数据(第一弹)我们实现了获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 通过手把手教你使用Python抓取QQ音乐 ...

  6. python爬取qq音乐歌曲链接为什么播放不出来_手把手教你使用Python抓取QQ音乐数据(第一弹)...

    原标题:手把手教你使用Python抓取QQ音乐数据(第一弹) [一.项目目标] 获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 由浅入深,层层递进,非常适合刚入门的同学练手. ...

  7. 手把手教你使用Python抓取QQ音乐数据(第四弹)(文末赠书)

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 千里之行,始于足下. [一.项目目 ...

  8. 如何用python抓取qq音乐_手把手教你使用Python抓取QQ音乐数据(第三弹)-阿里云开发者社区...

    [一.项目目标] 通过手把手教你使用Python抓取QQ音乐数据(第一弹)我们实现了获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 通过手把手教你使用Python抓取QQ音乐 ...

  9. python音乐的数据抓取与分析_手把手教你使用Python抓取QQ音乐数据!

    [一.项目目标] 通过手把手教你使用Python抓取QQ音乐数据(第一弹)我们实现了获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 通过手把手教你使用Python抓取QQ音乐 ...

最新文章

  1. Lighttpd1.4.20源代码分析 笔记 状态机之错误处理和连接关闭
  2. table control中用帮助(F4)实现自动填充另一字段
  3. 每日一皮:自己运行正常,测试一测就有bug
  4. 报名 | 腾讯组织的区块链技术沙龙,本周六在深圳!
  5. 实现根据条件删除_强大的定位空值法,1秒删除所有不想要的数据
  6. Maven 配置使用小技巧
  7. 解决idea的项目启动报404的问题
  8. 8 个你不知道的 DOM 功能
  9. TCP 的四次挥手,可以变成三次挥手吗?
  10. 2018 ICPC 沈阳站
  11. 微信开放平台开发第三方授权登陆(二):PC网页端
  12. 7-29 王小二分饼
  13. 关于矩形的边框,以及边框线偶尔不显示的问题
  14. 日本厚生劳动省核准Invivoscribe的LeukoStrat CDx FLT3突变检测作为第一三共的Quizartinib治疗复发/难治FLT3-ITD AML的伴侣诊断试剂。扩展用途包括EDT
  15. 装配式成品支架技术要求解读
  16. 数字图像处理的数学变换(三)逻辑运算
  17. 【玩转python】python实现不同温度之间的互相转换(附源码)
  18. 如何通过 LeanCloud 快速开发实时对战小游戏?
  19. FTP无法连接linux服务器
  20. You've Raised The Children; Time For A Job?

热门文章

  1. 计算机二级考试试题在线看,【TOP182015年全国计算机二级考试试题题库.doc文档免费在线阅读材料】...
  2. matlab drawnow连成曲线,precision recall曲线Matlab实现
  3. C++基础知识(四)—— 操作符/运算符
  4. windows下Python+Editplus windows Python开发环境
  5. openwrt gpio控制与使用
  6. 重学java基础第二十二课:IDEA安装
  7. react学习(13)-moment中 isRangePicker 控制类型
  8. 前端学习(3124):react-hello-react之对props进行限制
  9. [html] 列举几种瀑布流布局的方法
  10. [css] 用css3实现文字发光的效果