pandas数据分析第二天
一:汇总和计算描述统计
pandas对象拥有一组常用的数据和统计方法,用于从Series中提取单个值(sum,mean)或者从DataFrame的行或者列中提取一个Series对应的Numpy数组方法相比
调用sum可以返回一个小计,传入axis=1会按照行进行计算, axis=0,按照列进行计算
sum或者mean里面可与约简方法的选项
axis 约简的轴,DateFrame的行为0,列为1
skipna 排除缺失值,默认为TRUE
level 如果轴层次化索引的,则根据level分组约简
还有些方法是间接统计,idxmin达到最小值索引,idxmax达到最大值索引
cumsum 累计型统计,
describe 既不是累计型,也不是约简行,它用于一次性产出多个汇总统计,对于非数值型数据,describe 会产生另一种汇总,查看最下图
描述汇总统计的方法汇总
count 非NA值的数量
describe 针对Series 或者DataFrame列计算汇总统计
min,max 计算最小值和最大值
argmin argmax 计算能够获取得到最小值和最大值的索引位置(整数)
idxmin idxman 计算能够获取最小值和最大值的索引值
quantile 计算样本的分位数(0到1)
sum 值的总和
mean 值的平均数
median 值的算术中位数(50%分位数)
mad 根据平均值计算平均绝对离差
var 样本值的方差
std 样本值的标准差
skew 样本值的偏度
kurt 样本值的累计
cumsum 样本值的累计和
cummin cummax 样本值的累计最大值和累计最小值
cumprod 样本值的累计积
diff 计算一阶差分(对时间序列很有用)
pct_change 计算百分数变化


由于NA值会自动去吃,如果禁止该功能可以采用skipna=false


二:相关系数与协方差
pass
三:唯一值,值计数,以及成员资格
unique 可以得到唯一值
value_counts 返回一个Series 其索引为唯一值,其值为频率,按计数值降序排序
isin 计算一个表示Series各值是否包含传入值序列中的布尔数据类型




四:处理缺失数据
NA处理方法:
dropna 根据各标签的值中是否存在缺失数据对轴标签进行过滤,可通过阀值调节对缺失值的容忍度
fillna 用于指定值或者插入值方法 如fill和bfill 填充数据缺失值
isnull 返回一个布尔值对象,这些布尔值表示哪些值是缺失值,其中None也会被当做缺失值处理
notnull isnull的否定式




五:滤除缺失数据
比如上面提到的,,直接用dropna删除最直接,也可以通过notnull,下面总结一些常用的方法
Series中处理缺失值 dropna notnull
dataframe处理缺失值dropna会将带有NA全部丢弃,传入参数how=’all' 只会丢弃全部为NA的行,看下面例子
传入参数how=‘all' axis=1 只会丢去全部为NA列的
另一个滤除DataFrame行的问题涉及时间序列数据,假设你只是想留下一部分观测数据,可以用tjresh参数实现



另一个滤除DataFrame行的问题涉及时间序列数据,假设你只是想留下一部分观测数据,可以用tjresh参数实现


六:填充缺失值
可以选用参数fillna
fillna选择参数:
value 用于填充缺失值的标量值或者字典对象
method 插值方式 如果函数调用时未指定其他参数的话,默认为ffill
axis 待填充的轴,默认axis=0
inplace 修改调用者对象而不产生副本
limit (对于前向和后向填充)可以连续填充的最大数量





fillna 可以实现很多功能,比如里面可以传sum,mean等

七:层次化索引
带有MultiIndex索引的Series的格式化输出形式。索引之间的’间隔‘表示’直接使用上面的标签‘


层次化索引在数据重塑和基于分组的操作(如透视表生成)中扮演着重要的角色,比如说,这段数据可以通过其unstack方法被重新安排带一个DataFrame中

对于DataFrame

八:重排分级顺序
需要重新调整某条轴上各级别的顺序,或者指定级别上的值对数据进行排序,swaplevel接收两个级别编号或者名称,并返回一个交互啦级别的新对象,而sortlevel则根据单个级别中的值对数据进行排序,交换级别是,常常会用到sortlevel,这样的结果就是有序的

九:根据级别汇总统计
根据DataFrame和Series的描述和汇总统计都有一个level的选项,它用于指定在某条轴上求和的级别

pandas数据分析第二天的更多相关文章
- 小象学院Python数据分析第二期【升级版】
点击了解更多Python课程>>> 小象学院Python数据分析第二期[升级版] 主讲老师: 梁斌 资深算法工程师 查尔斯特大学(Charles Sturt University)计 ...
- 参考《利用Python进行数据分析(第二版)》高清中文PDF+高清英文PDF+源代码
第2版针对Python 3.6进行全面修订和更新,涵盖新版的pandas.NumPy.IPython和Jupyter,并增加大量实际案例,可以帮助高效解决一系列数据分析问题. 第2版中的主要更新了Py ...
- Python学习教程:Pandas中第二好用的函数
从网上看到一篇好的文章是关于如何学习python数据分析的迫不及待想要分享给大家,大家也可以点链接看原博客.希望对大家的学习有帮助. 本次的Python学习教程是关于Python数据分析实战基础相关内 ...
- python中pandas数据分析基础3(数据索引、数据分组与分组运算、数据离散化、数据合并)
//2019.07.19/20 python中pandas数据分析基础(数据重塑与轴向转化.数据分组与分组运算.离散化处理.多数据文件合并操作) 3.1 数据重塑与轴向转换1.层次化索引使得一个轴上拥 ...
- 利用Python进行数据分析(第二版)电子版书籍分享
资料下载地址: 链接:https://pan.baidu.com/s/1y1C0bJPkSn7Sv6Eq9G5_Ug 提取码:vscu <利用Python进行数据分析(第二版)>高清中文版 ...
- 动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题
动态可视化 数据可视化之魅D3,Processing,pandas数据分析,科学计算包Numpy,可视化包Matplotlib,Matlab语言可视化的工作,Matlab没有指针和引用是个大问题 D3 ...
- pyhton pandas数据分析基础入门(一文看懂pandas)
//2019.07.17 pyhton中pandas数据分析基础入门(一文看懂pandas), 教你迅速入门pandas数据分析模块(后面附有入门完整代码,可以直接拷贝运行,含有详细的代码注释,可以轻 ...
- pyhton中pandas数据分析模块快速入门(非常容易懂)
//2019.07.16python中pandas模块应用1.pandas是python进行数据分析的数据分析库,它提供了对于大量数据进行分析的函数库和各种方法,它的官网是http://pandas. ...
- python数据分析第二版:pandas
一:pandas 两种数据结构:series和dataframe series:索引(索引自动生成)和标签(人为定义)组成---返回一个对象 obj = pd.Series([1,2,3,4]) ob ...
随机推荐
- Post+Get方式接口测试代码编写
详细代码如下 package testproject; import java.io.BufferedReader; import java.io.IOException; import java.i ...
- Powershell对象条件查询筛选
在 Windows PowerShell 中,与所需的对象数量相比,通常生成的对象数量以及要传递给管道的对象数量要多得多.可以使用 Format cmdlet 来指定要显示的特定对象的属性,但这并不能 ...
- sitemesh 2.4 装饰器学习
SiteMesh 是一个网页布局和修饰的框架,利用它可以将网页的内容和页面结构分离,以达到页面结构共享的目的 SiteMesh是OpenSymphony团队开发的JEE框架之一,它是一个非常优秀的页面 ...
- NerdTree 学习
http://www.jianshu.com/p/eXMxGx--------------来自大神到博客 到现在为止我仍然不能设置<F2>开启和隐藏目录树.sangxin.
- [复习] JAVA 遍历目录 (递归调用和非递归)
JAVA 遍历文件夹下的所有文件(递归调用和非递归调用) 1.不使用递归的方法调用. public void traverseFolder1(String path) { int fileNum = ...
- 用node.js进行微信公众平台的开发
基本原理 用nodejs怎样来实现对微信公众平台的开发呢? 别的就不多说了,先来简单介绍微信公众平台的基本原理. 微信服务器就相当于一个转发服务器,终端(手机.Pad等)发起请求至微信服务器,微信服务 ...
- k8s入门
一个目标:容器操作:两地三中心:四层服务发现:五种Pod共享资源:六个CNI常用插件:七层负载均衡:八种隔离维度:九个网络模型原则:十类IP地址:百级产品线:千级物理机:万级容器:相如无亿,K8s有亿 ...
- java进阶-多线程学习笔记
多线程学习笔记 1.什么是线程 操作系统中 打开一个程序就是一个进程 一个进程可以创建多个线程 现在系统中 系统调度的最小单元是线程 2.多线程有什么用? 发挥多核CPU的优势 如果使用多线程 将计算 ...
- 数据结构 + 算法 -> 收集
董的博客:数据机构与算法合集 背包问题应用(2011-08-26) 数据结构之红黑树(2011-08-20) 素数判定算法(2011-06-26) 算法之图搜索算法(一)(2011-06-22) 算法 ...
- 什么是Base64加密?为什么要有Base64加密?
产生这篇文章的动力在于对接腾讯云服务的时候每次都要进行Base64编码之后才能进行签名,之前只知道Base64是个算法,但是不知道为啥都用这个算法,这次为了链接Base64究竟是个什么东东才在网络上各 ...