pandas

前面我们学习了pandas两种基本的数据结构Series和DataFrame以及基本功能,这节我们学习一下其他的略高级用法。

汇总和计算描述统计

df.sum(axis=1)

#求和,全为NaN才会NaN

df.mean(axis=1,skipna=False)

#平均数,有NaN结果就为NaN

这种约简方法的选项:

选项

说明

axis

约简的轴。DataFrame的行用0,列用1

skipna

排除缺失值,默认值为True

level

如果轴是层次化索引的(即Multilndex),则根据level分组约简

汇总统计idxmin和idxmax:

df

out:

one two

a 1.40 NaN

b 7.10 -4.5

c NaN NaN

d 0.75 -1.3

df.idxmax()

out:

one b

two d

df.cumsum()

out:

one two

a 1.40 NaN

b 8.50 -4.5

c NaN NaN

d 9.25 -5.8

还有descripe 它是多个汇总统计:

df.describe()

out:

one two

count 3.000000 2.000000

mean 3.083333 -2.900000

std 3.493685 2.262742

min 0.750000 -4.500000

25% 1.075000 -3.700000

50% 1.400000 -2.900000

75% 4.250000 -2.100000

max 7.100000 -1.300000

obj = Series(['a', 'a', 'b', 'c']* 4)

obj.describe()

out:

count 16

unique 3

top a

freq 8

分别说明如下:

方法

说明

count

非NA值的数量

describe

针对Series或各DataFrame列计算汇总统计

min, max

计算最小值和最大值

argmin, argmax

计算能够获取到最小值和最大值的索引位置(整数)

idxmin, idxmax

计算能够获取到最小值和最大值的索引值

quantile

计算样本的分位数(0到1)

sum

值的总和

mean

值的平均数

median

值的算术中位数(50%分位数)

mad

根据平均值计算平均绝对离差

var

样本值的方差

std

样本值的标准差

skew

样本值的偏度(三阶矩)

kurt

样本值的峰度(四阶矩)

cumsum

样本值的累计和

cummin. cummax

样本值的累计最大值和累计最小值

cumprod

样本值的累计积

diff

计算一阶差分《对时间序列很有用)

pct_change

计算百分数变化

相关系数与协方差

corr()计算相关系数

cov()计算协方差

DataFrame的corrwith方法可以计算其列或行与另外一个Series或者DataFrame之间的相关系数

唯一值、值计数以及成员资格

obj=Series(['c', 'a', 'd', 'a', 'a', 'b', 'b', 'c', 'c'])

uniques = obj.unique()

uniques

out:

array([c, a, d, b], dtype=object)

计算各值出现的频率:

obj.value_counts()

同时,它还是一个顶级的pandas方法,所以它还能这样写pd.value_count(obj.values)

默认降序排列,如果不要可以添加sort=False

isin用来判断是否存在,返回bool

obj.isin([‘b’,’c’])

方法

说明

isin

计算一个表示“Series各值是否包含于传入的值序列中”的布尔型数组

unique

计算Series中的唯一值数组,按发现的顺序返回

value_counts

返回一个Series,其索引为唯一值,其值为频率,按计数值降序排列

处理缺失数据

默认用NaN表示

dropna

fillna

isnull

notnull

滤除缺失数据

dropna默认丢弃任何含有缺失值的行,

加入how=’all’只丢弃全为NA的行。

(丢弃列用axis=1)

thresh=3 保留值(不为NaN)在3个或以上的。

填充缺失数据

这个其实之前也介绍过一点。

主要使用的fillna,它的参数有:

参数

说明

value

用于填充缺失值的标a值或字典对象

method

插值方式。如果函数调用时未指定其他参数的话,默认为”ffill”

axis

待填充的轴,默认axis=0

inplace

修改调用者对象而不产生副本

limit

(对于前向和后向填充)可以连续填充的最大数量

层次化索引 重排分级顺序

我的理解感觉就是强行把三维放在二维上,这个篇幅问题不详细说了,可以自行百度下,应该还是很好理解的。

重排分级顺序则是对轴上各级别的顺序的重新调整。

根据级别汇总统计

level选项来指定求和的级别。例如:

frame.sum(level='key2')

#则key2相同的进行求和

frame.sum(level='color', axis=1)

#指明列上的级别时,同时要指明axis=1

使用DataFrame的列

这个是什么意思呢,就是把DataFrame的一列或者多列当作行索引使用,如下:

frame =DataFrame({'a':range(7),'b':range(7,0,-1),

'c':['one','one','one','two','two','two','two'],'d': [0, 1, 2, 0,1,2,3]})

frame

out:

a b c d

0 0 7 one 0

1 1 6 one 1

2 2 5 one 2

3 3 4 two 0

4 4 3 two 1

5 5 2 two 2

6 6 1 two 3

frame2 = frame.set_index(['c','d'])

frame2

out:

a b

c d

one 0 0 7

1 1 6

2 2 5

two 0 3 4

1 4 3

2 5 2

3 6 1

默认情况下那些列会被移除,但是可以通过添加参数drop=False保留下来。

移回来使用reset_index()与上面相反。

其他pandas的话题

整数索引

ser=Series(np.arange(3.))

ser[-1]这种情况下会报错,原因是它并不能分别你是要最后一个 还是索引是-1。

但是当非整数索引时它能知道是最后一个元素。

面板数据

panel数据结构作为三维版的DataFrame,有三个纬度供ix标签选取。暂时仅供了解。

总结

pandas的初步入门到这就结束了。总的来说其实就是这两种常用的数据结构Series,DataFrame的常用方法,尤其是DataFrame。感觉看完了也没有什么整体的概念,之后多使用的时候再来翻翻记录熟悉。

利用python进行数据分析论文_利用Python进行数据分析之pandas的高级用法相关推荐

  1. python天气数据分析论文_《Python数据分析与机器学习实战-唐宇迪》读书笔记第9章--随机森林项目实战——气温预测(2/2)...

    第9章--随机森林项目实战--气温预测(2/2) 第8章已经讲解过随机森林的基本原理,本章将从实战的角度出发,借助Python工具包完成气温预测任务,其中涉及多个模块,主要包含随机森林建模.特征选择. ...

  2. python天气数据分析论文_关于Python爬取天气数据的实例详解内容

    importcsvimportsysimporturllib.requestfrom bs4 import BeautifulSoup #解析页面模块 importpygalimportcityinf ...

  3. python房价分析论文_用Python研究了三千套房子,告诉你究竟是什么抬高了房价?...

    关于房价,一直都是全民热议的话题,毕竟不少人终其一生都在为之奋斗. 房地产的泡沫究竟有多大不得而知?今天我们抛开泡沫,回归房屋最本质的内容,来分析一下房价的影响因素究竟是什么? 1.导入数据 impo ...

  4. 基于python的小论文_基于Python的网上论坛的实现

    摘要随着科学技术与计算机网络应用的发展,人们的生活与工作越来越智能化,简洁化,网络化.也就可以腾出更多的时间用来思考周围的事情的合理化与有效话,人们也就更加的想要追求事物的公平公正.在相互讨论与理解的 ...

  5. 有关python方面的论文_有关python基础知识的文章推荐5篇

    一.变量命名规则1.变量名只能是字母.数字.下划线的任意组合2.变量名不能以数字开头3.一些保留字段不能作为自定义变量名4变量名需要有明确含义,如保存名字的变量,最好定义为name之类的变量名二.字符 ...

  6. python课程报告论文_高中Python校本课程的设计与实施

    43 MAY 2019 NO.10 高中Python校本课程的设计与实施 郑兴航 江苏省锡山高级中学 2018年1月 , 新版高中信息技术 课程标准正式颁布 , 对照2003版, 新标准在课程目 标和 ...

  7. 8盏流水灯反向闪烁c语言,课程设计(论文)_利用8255A芯片实现流水灯闪烁设计.doc...

    课程设计(论文)_利用8255A芯片实现流水灯闪烁设计 利用8255A芯片实现流水灯闪烁设计 27 - 目录 摘要··········································· ...

  8. 利用python进行数据分析数据_利用Python进行数据分析

    1.注释以及在Subplot上绘图 除标准的图表对象之外,你可能还希望绘制一些自定义的注释(比如文本.箭头或其他图形等). 注释可以通过text.arrow和annotate等函数进行添加.text可 ...

  9. python统计行号_利用Python进行数据分析(第三篇上)

    上一篇文章我记录了自己在入门 Python 学习的一些基础内容以及实际操作代码时所碰到的一些问题. 这篇我将会记录我在学习和运用 Python 进行数据分析的过程: 介绍 Numpy 和 Pandas ...

最新文章

  1. cacti监控linux和windows磁盘IO
  2. npc寻路问题 c++_《原神》游戏中最懒的NPC出现了,她要玩家找一朵甜甜花
  3. 华为手机如何升级鸿蒙系统_能运行EMUI 11才能升级到鸿蒙2.0,只有这些手机能升级,有你的吗...
  4. 2267: scholarship(dfs , STL)
  5. 流水账日记20150626
  6. ie下的透明度,用滤镜filter:alpha
  7. Linux CentOS7/RHEL7关闭ctrl+alt+delete功能键
  8. 高可用高性能负载均衡软件HAproxy详解指南-第一章(简介、安装)
  9. Java 算法刷题指南
  10. 笨方法学python 习题23
  11. UDS学习笔记(六)——程序刷写
  12. matlab英文词汇,matlab中常见英文词含义
  13. 懵逼树上懵逼果:探索二分法搜索
  14. su组件在什么窗口,【答疑】草图大师Sketchup组件窗口快捷键是什么呢? - 羽兔网问答...
  15. python计算线性回归方程
  16. 伦茨科技-智能语音遥控器
  17. 【教链一周谈】覆巢之下,安有完卵
  18. STM32 中断向量表的位置 、重定向
  19. StrongSwan安装部署、配置使用方法总结
  20. 今日头条 7 年,好的算法还可以做什么?

热门文章

  1. oracle数据库迁移 增大空间,Oracle数据库迁移、创建表空间、创建数据表实例讲解-Oracle...
  2. mysql 备份库的shell_shell学习之自动备份mysql数据库
  3. 在小程序中将多个view居中显示
  4. 动态添加内容到百度搜索框里
  5. Koa入门——关键知识点总结
  6. 《JavaScript面向对象编程指南》—第128页错误指正
  7. 三维重建12:室内三维物体的位姿识别论文列表
  8. TreeView控件的展开与折叠
  9. python实战,教你用微信每天给女朋友说晚安
  10. 一次关于cisco的portfast网络故障