8Python科学计算与数据处理PPT资料.ppt

上传人:b****1 文档编号:14298803 上传时间:2022-10-21 格式:PPT 页数:115 大小:441KB
下载 相关 举报
8Python科学计算与数据处理PPT资料.ppt_第1页
第1页 / 共115页
8Python科学计算与数据处理PPT资料.ppt_第2页
第2页 / 共115页
8Python科学计算与数据处理PPT资料.ppt_第3页
第3页 / 共115页
8Python科学计算与数据处理PPT资料.ppt_第4页
第4页 / 共115页
8Python科学计算与数据处理PPT资料.ppt_第5页
第5页 / 共115页
点击查看更多>>
下载资源
资源描述

8Python科学计算与数据处理PPT资料.ppt

《8Python科学计算与数据处理PPT资料.ppt》由会员分享,可在线阅读,更多相关《8Python科学计算与数据处理PPT资料.ppt(115页珍藏版)》请在冰豆网上搜索。

8Python科学计算与数据处理PPT资料.ppt

由于没有为数据指定索引,于是会自动创建一个0到N-1(N为数据的长度)的整数型索引。

可以通过Series的values和index属性获取其数组表示形式和索引对象:

6,obj.valuesarray(4,7,-5,3,dtype=int64)obj.indexInt64Index(0,1,2,3,dtype=int64),pandas的数据结构介绍,通常希望所创建的Series带有一个可以对各个数据点进行标记的索引:

7,obj2=Series(4,7,-5,3,index=d,b,a,c)obj2d4b7a-5c3dtype:

int64obj2.indexIndex(ud,ub,ua,uc,dtype=object),pandas的数据结构介绍,与普通NumPy数组相比,可以通过索引的方式选取Series中的单个或一组值:

8,obj2a-5obj2d=6obj2c,a,dc3a-5d6dtype:

int64,pandas的数据结构介绍,NumPy数组运算(如根据布尔型数组进行过滤、标量乘法、应用数学函数等)都会保留索引和值之间的链接:

9,obj2obj2obj20obj2*2np.exp(obj2)d403.428793b1096.633158a0.006738c20.085537dtype:

float64,pandas的数据结构介绍,还可以将Series看成是一个定长的有序字典,因为它是索引值到数据值的一个映射。

它可以用在许多原本需要字典参数的函数中:

10,binobj2Trueeinobj2False,pandas的数据结构介绍,11,如果数据被存放在一个Python字典中,也可以直接通过这个字典来创建Series:

sdata=Ohio:

35000,Texas:

71000,Oregon:

16000,Utah:

5000obj3=Series(sdata)obj3Ohio35000Oregon16000Texas71000Utah5000dtype:

int64,pandas的数据结构介绍,如果只传入一个字典,则结果Series中的索引就是原字典的键(有序排列)。

在例子中,sdata跟states索引相匹配的那3个值会被找出来并放到相应的位置上,但由于“California”所对应的sdata值找不到,所以其结果就为NaN(即“非数字”(notanumber).,12,states=California,Ohio,Oregon,Texasobj4=Series(sdata,index=states)obj4CaliforniaNaNOhio35000Oregon16000Texas71000dtype:

float64,pandas的数据结构介绍,在pandas中使用NaN表示缺失(missing)或NA值。

pandas的isnull和notnull函数可用于检测缺失数据:

13,pd.isnull(obj4)#Series也有类似的实例方法:

CaliforniaTrue#obj4.isnull()OhioFalseOregonFalseTexasFalsedtype:

boolpd.notnull(obj4)CaliforniaFalseOhioTrueOregonTrueTexasTruedtype:

bool,pandas的数据结构介绍,对于许多应用而言,Series域重要的一个功能是:

它在算术运算中会自动对齐不同索引的数据。

14,obj3obj4obj3+obj4CaliforniaNaNOhio70000Oregon32000Texas142000UtahNaNdtype:

float64,pandas的数据结构介绍,Series对象本身及其索引都有一个name属性,该属性跟pandas其他的关键功能关系非常密切:

15,obj4.name=populationobj4.index.name=stateobj4stateCaliforniaNaNOhio35000Oregon16000Texas71000Name:

population,dtype:

float64,pandas的数据结构介绍,16,Series的索引可以通过赋值的方式就地修改:

obj04172-533obj.index=Bob,Steve,Jeff,RyanobjBob4Steve7Jeff-5Ryan3dtype:

int64,pandas的数据结构介绍,17,DataFrameDataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。

DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共用同一个索引)。

跟其他类似的数据结构相比(如R的data.frame),DataFrame中面向行和面向列的操作基本上是平衡的。

其实,DataFrame中的数据是以一个或多个二维块存放的(而不是列表、字典或別的一维数据结构)。

pandas的数据结构介绍,构建DataFrame的办法有很多,最常用的一种是直接传入一个由等长列表或NumPy数组组成的字典:

结果DataFrame会自动加上索引(跟Series一样),且全部列会被有序悱列.,18,data=state:

Ohio,Ohio,Ohio,Nevada,Nevada,year:

2000,2001,2002,2001,2002,pop:

1.5,1.7,3.6,2.4,2.9frame=DataFrame(data)frame,pandas的数据结构介绍,如果指定了列序列,则DataFrame的列就会按照指定顺序迸行排列:

跟Series一样,如果传入的列在数据中找不到,就会产生NA值:

19,DataFrame(data,columns=year,state,pop),frame2=DataFrame(data,columns=year,state,pop,debt,index=one,two,three,four,five)frame2frame2.columnsIndex(uyear,ustate,upop,udebt,dtype=object),pandas的数据结构介绍,通过类似字典标记的方式或属性的方式,可以将DataFrame的列获取为一个Series:

20,frame2stateoneOhiotwoOhiothreeOhiofourNevadafiveNevadaName:

state,dtype:

objectframe2.yearone2000two2001three2002four2001five2002Name:

year,dtype:

int64,pandas的数据结构介绍,注意,返冋的Series拥有原DataFrame相同的索引,且其name属性也已经被相应地设置好了。

行也可以通过位置或名称的方式进行获取,比如用索引字段ix:

21,frame2.ixthreeyear2002stateOhiopop3.6debtNaNName:

three,dtype:

object,pandas的数据结构介绍,列可以通过赋值的方式进行修改。

例如,可以给那个空的“debt”列赋上一个标量值或一组值:

22,frame2debt=16.5frame2frame2debt=np.arange(5)frame2,pandas的数据结构介绍,23,将列表或数组赋值给某个列时,其长度必须跟DataFrame的长度相匹配。

如果赋值的是一个Series,就会精确匹配DataFrame的索引,所有的空位都将被填上缺失值:

val=Series(-1.2,-1.5,-1.7,index=two,four,five)frame2debt=valframe2,pandas的数据结构介绍,为不存在的列赋值会创建出一个新列。

关键字del用于删除列:

24,frame2eastern=frame2.state=Ohioframe2delframe2easternframe2.columnsIndex(uyear,ustate,upop,udebt,dtype=object),pandas的数据结构介绍,另一种常见的数据形式是嵌套字典(也就是字典的字典):

如果将它传给DataFrame,它就会被解释为:

外层字典的键作为列,内层键则作为行索引:

25,pop=Nevada:

2001:

2.4,2002:

2.9,Ohio:

2000:

1.5,2001:

1.7,2002:

3.6,frame3=DataFrame(pop)frame3frame3.T#也可以对该结果进行转置,pandas的数据结构介绍,内层字典的键会被合并、排序以形成最终的索引。

如果显式指定了索引,则不会这样:

由Series组成的字典差不多也是一样的用法:

26,DataFrame(pop,index=2001,2002,2003),frame3pdata=Ohio:

frame3Ohio:

-1,Nevada:

frame3Nevada:

2DataFrame(pdata),pandas的数据结构介绍,27,如果设置了DataFrame的index和columns的name属性,则这些信息也会被显示出来:

跟Series一样,values属性也会以二维ndarray的形式返回DataFrame中的数据:

frame3.index.name=year;

frame3.columns.name=stateframe3,frame3.index.name=year;

frame3.columns.name=stateframe3.valuesarray(nan,1.5,2.4,1.7,2.9,3.6),pandas的数据结构介绍,28,如果DataFrame各列的数据类型不同,则值数组的数据类型就会选用能兼容所有列的数据类型:

frame2frame2.valuesarray(2000L,Ohio,1.5,nan,2001L,Ohio,1.7,-1.2,2002L,Ohio,3.6,nan,2001L,Nevada,2.4,-1.5,2002L,Nevada,2.9,-1.7,dtype=object),pandas的数据结构介绍,索引对象pandas的索引对象负责管理轴标签和其他元数据(比如轴名称等)。

构建Series或DataFrame时,所用到的任何数组或其他序列的标签都会被转换成一个Index:

29,obj=Seri

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1