【云计算】数据分析三大神器之二之Pandas
小标 2019-01-14 来源 : 阅读 943 评论 0

摘要:本文主要向大家介绍了【云计算】数据分析三大神器之二之Pandas,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。

本文主要向大家介绍了【云计算】数据分析三大神器之二之Pandas,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。

数据分析三大神器之二:Pandas


简介:


pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。


>>> from pandas import Series, DataFrame


>>> import pandas as pd


目录


数据分析三大神器之二:Pandas


1、常用函数


2、Series


3、DataFrame


4、Index



1、常用函数


 

函数


 

 

说明


 

 

pd.isnull(series)


 

pd.notnull(series)


 

 

判断是否为空(NaN)


 

判断是否不为空(not NaN)


 


2、Series


Series可以运用ndarray或字典的几乎所有索引操作和函数,融合了字典和ndarray的优点。



 

属性


 

 

说明


 

 

values


 

 

获取数组


 

 

index


 

 

获取索引


 

 

name


 

 

values的name


 

 

index.name


 

 

索引的name


 


2.1Series常用函数


 

函数


 

 

说明


 

 

Series([x,y,...])Series({'a':x,'b':y,...}, index=param1)


 

 

生成一个Series


 

 

Series.copy()


 

 

复制一个Series


 

 

Series.reindex([x,y,...], fill_value=NaN)


 

Series.reindex([x,y,...], method=NaN)


 

Series.reindex(columns=[x,y,...])


 

 

重返回一个适应新索引的新对象,将缺失值填充为fill_value


 

返回适应新索引的新对象,填充方式为method


 

对列进行重新索引


 

 

Series.drop(index)


 

 

丢弃指定项


 

 

Series.map(f)


 

 

应用元素级函数


 


eindex的method选项:


ffill, bfill     向前填充/向后填充


pad, backfill   向前搬运,向后搬运


2.2排序函数


 

排序函数


 

 

说明


 

 

Series.sort_index(ascending=True)


 

 

根据索引返回已排序的新对象


 

 

Series.order(ascending=True)


 

 

根据值返回已排序的对象,NaN值在末尾


 

 

Series.rank(method='average', ascending=True, axis=0)


 

 

为各组分配一个平均排名


 

 

df.argmax()


 

df.argmin()


 

 

返回含有最大值的索引位置


 

返回含有最小值的索引位置


 


rank的method选项


'average'    在相等分组中,为各个值分配平均排名


'max','min'   使用整个分组中的最小排名


'first'      按值在原始数据中出现的顺序排名


3、DataFrame


DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共用同一个索引)。


DataFrame可以通过类似字典的方式或者.columnname的方式将列获取为一个Series。行也可以通过位置或名称的方式进行获取。


    为不存在的列赋值会创建新列。


>>> del frame['xxx'] # 删除列


3.1常用属性




 

属性


 

 

说明


 

 

values


 

 

DataFrame的值


 

 

index


 

 

行索引


 

 

index.name


 

 

行索引的名字


 

 

columns


 

 

列索引


 

 

columns.name


 

 

列索引的名字


 

 

ix


 

 

返回行的DataFrame


 

 

ix[[x,y,...], [x,y,...]]


 

 

对行重新索引,然后对列重新索引


 

 

T


 

 

frame行列转置


 


3.2常用函数


 

函数


 

 

说明


 

 

DataFrame(dict, columns=dict.index, index=[dict.columnnum])


 

DataFrame(二维ndarray)


 

DataFrame(由数组、列表或元组组成的字典)


 

DataFrame(NumPy的结构化/记录数组)


 

DataFrame(由Series组成的字典)


 

DataFrame(由字典组成的字典)


 

DataFrame(字典或Series的列表)


 

DataFrame(由列表或元组组成的列表)


 

DataFrame(DataFrame)


 

DataFrame(NumPy的MaskedArray)


 

 

构建DataFrame


 

数据矩阵,还可以传入行标和列标


 

每个序列会变成DataFrame的一列。所有序列的长度必须相同


 

类似于“由数组组成的字典”


 

每个Series会成为一列。如果没有显式制定索引,则各Series的索引会被合并成结果的行索引


 

各内层字典会成为一列。键会被合并成结果的行索引。


 

各项将会成为DataFrame的一行。索引的并集会成为DataFrame的列标。


 

类似于二维ndarray


 

沿用DataFrame


 

类似于二维ndarray,但掩码结果会变成NA/缺失值


 

 

df.reindex([x,y,...], fill_value=NaN, limit)


 

df.reindex([x,y,...], method=NaN)


 

df.reindex([x,y,...],columns=[x,y,...],copy=True)


 

 

返回一个适应新索引的新对象,将缺失值填充为fill_value,最大填充量为limit


 

返回适应新索引的新对象,填充方式为method


 

同时对行和列进行重新索引,默认复制新对象。


 

 

df.drop(index, axis=0)


 

 

丢弃指定轴上的指定项。


 


3.3排序函数


 

排序函数


 

 

说明


 

 

df.sort_index(axis=0, ascending=True)


 

df.sort_index(by=[a,b,...])


 

 

根据索引排序


 


3.4汇总统计函数


 

汇总统计函数


 

 

说明


 

 

df.count()


 

 

非NaN的数量


 

 

df.describe()


 

 

一次性产生多个汇总统计


 

 

df.min()


 

df.min()


 

 

最小值


 

最大值


 

 

df.idxmax(axis=0, skipna=True)


 

df.idxmin(axis=0, skipna=True)


 

 

返回含有最大值的index的Series


 

返回含有最小值的index的Series


 

 

df.quantile(axis=0)


 

 

计算样本的分位数


 

 

df.sum(axis=0, skipna=True, level=NaN)


 

df.mean(axis=0, skipna=True, level=NaN)


 

df.median(axis=0, skipna=True, level=NaN)


 

df.mad(axis=0, skipna=True, level=NaN)


 

df.var(axis=0, skipna=True, level=NaN)


 

df.std(axis=0, skipna=True, level=NaN)


 

df.skew(axis=0, skipna=True, level=NaN)


 

df.kurt(axis=0, skipna=True, level=NaN)


 

df.cumsum(axis=0, skipna=True, level=NaN)


 

df.cummin(axis=0, skipna=True, level=NaN)


 

df.cummax(axis=0, skipna=True, level=NaN)


 

df.cumprod(axis=0, skipna=True, level=NaN)


 

df.diff(axis=0)


 

df.pct_change(axis=0)


 

 

返回一个含有求和小计的Series


 

返回一个含有平均值的Series


 

返回一个含有算术中位数的Series


 

返回一个根据平均值计算平均绝对离差的Series


 

返回一个方差的Series


 

返回一个标准差的Series


 

返回样本值的偏度(三阶距)


 

返回样本值的峰度(四阶距)


 

返回样本的累计和


 

返回样本的累计最大值


 

返回样本的累计最小值


 

返回样本的累计积


 

返回样本的一阶差分


 

返回样本的百分比数变化


 


3.5计算函数


 

计算函数


 

 

说明


 

 

df.add(df2, fill_value=NaN, axist=1)


 

df.sub(df2, fill_value=NaN, axist=1)


 

df.div(df2, fill_value=NaN, axist=1)


 

df.mul(df2, fill_value=NaN, axist=1)


 

 

元素级相加,对齐时找不到元素默认用fill_value


 

元素级相减,对齐时找不到元素默认用fill_value


 

元素级相除,对齐时找不到元素默认用fill_value


 

元素级相乘,对齐时找不到元素默认用fill_value


 

 

df.apply(f, axis=0)


 

 

将f函数应用到由各行各列所形成的一维数组上


 

 

df.applymap(f)


 

 

将f函数应用到各个元素上


 

 

df.cumsum(axis=0, skipna=True)


 

 

累加,返回累加后的dataframe


 


3.6索引


 

索引方式


 

 

说明


 

 

df[val]


 

 

选取DataFrame的单个列或一组列


 

 

df.ix[val]


 

 

选取Dataframe的单个行或一组行


 

 

df.ix[:,val]


 

 

选取单个列或列子集


 

 

df.ix[val1,val2]


 

 

将一个或多个轴匹配到新索引


 

 

reindex方法


 

 

将一个或多个轴匹配到新索引


 

 

xs方法


 

 

根据标签选取单行或者单列,返回一个Series


 

 

icol、irow方法


 

 

根据整数位置选取单列或单行,并返回一个Series


 

 

get_value、set_value


 

 

根据行标签和列标签选取单个值


 


运算:


默认情况下,Dataframe和Series之间的算术运算会将Series的索引匹配到的Dataframe的列,沿着列一直向下传播。若索引找不到,则会重新索引产生并集。


4、Index


pandas的索引对象负责管理轴标签和其他元数据(比如轴名称等)。构建Series或DataFrame时,所用到的任何数组或其他序列的标签都会被转换成一个Index。Index对象不可修改,从而在多个数据结构之间安全共享。


4.1主要属性



 

主要的Index对象


 

 

说明


 

 

Index


 

 

最广泛的Index对象,将轴标签表示为一个由Python对象组成的NumPy数组


 

 

Int64Index


 

 

针对整数的特殊Index


 

 

MultiIndex


 

 

“层次化”索引对象,表示单个轴上的多层索引。可以看做由元组组成的数组


 

 

DatetimeIndex


 

 

存储纳秒级时间戳(用NumPy的Datetime64类型表示)


 

 

PeriodIndex


 

 

针对Period数据(时间间隔)的特殊Index


 


4.2常用函数
 


 

函数


 

 

说明


 

 

Index([x,y,...])


 

 

创建索引


 

 

append(Index)


 

 

连接另一个Index对象,产生一个新的Index


 

 

diff(Index)


 

 

计算差集,产生一个新的Index


 

 

intersection(Index)


 

 

计算交集


 

 

union(Index)


 

 

计算并集


 

 

isin(Index)


 

 

检查是否存在与参数索引中,返回bool型数组


 

 

delete(i)


 

 

删除索引i处元素,得到新的Index


 

 

drop(str)


 

 

删除传入的值,得到新Index


 

 

insert(i,str)


 

 

将元素插入到索引i处,得到新Index


 

 

is_monotonic()


 

 

当各元素大于前一个元素时,返回true


 

 

is_unique()


 

 

当Index没有重复值时,返回true


 

 

unique()


 

 

计算Index中唯一值的数组


 




          

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标大数据云计算大数据安全频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程