网站大量收购闲置独家精品文档,联系QQ:2885784924

Python科学计算、数据处理与分析课件 (4).pptx

Python科学计算、数据处理与分析课件 (4).pptx

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

Python科学计算、数据处理与数据分析;第3章Pandas基础;第2章NumPy基础;NumPy虽然提供了方便的数组功能,但是它缺少数据处理和数据分析的快速工具。Pandas是基于NumPy的一种工具,这个工具是为了解决数据处理、数据分析任务而创建的,它包含的数据结构和数据处理工具使得用户在Python中进行数据处理和数据分析非常快捷

在本书后续内容中,我们会使用如下的方式导入Pandas。

importPandasaspd

;学习Pandas,需要了解Series和DataFrame,它们是Pandas中最常用的两个数据结构对象。

3.1.1Series对象

Series是一种一维的数组型对象,它除了包含值序列外(与NumPy中的一维ndarry类型相似),还包含数据标签,后面我们称其为索引(index)。;Series对象与NumPy中的一维数组类似,二者与Python基本的数据结构List也很相近。它们的区别如下。

①List中的元素可以是不同的数据类型,而NumPy中的一维数组和

Series对象则只允许存储相同数据类型的元素,这样可以更有效地使用内存,提高运算效率。

②Series对象与NumPy中的一维数组的不同之处是Series对象除了有值序列外,还有数据标签,而NumPy中的数组没有数据标签。

③Series对象中的数据必须是一维的,而NumPy中的数组可以是多维的。

④Series对象定义了NumPy中的ndarray数组的接口_array_(),因此NumPy函数可以直接操作Series对象。;Series对象不仅存储值序列,而且存储数据标签,因此每个Series对象都具有两个属性。

①index属性:RangeIndex索引对象,如果创建Series对象时不指定index属性,那么系统会默认生成,默认生成的索引是从0到N-1(N是数据长度)。

②values属性:保存元素值的ndarray数组,NumPy函数都是对此进行操作。;最简单的Series对象可以仅由一个列表生成

ser=pd.Series([1,2,3])(未指定索引)

ser1=pd.Series([1,2,3,4,5],index=[‘a’,‘b’,‘c’,‘d’,‘e’])(指定索引)

除了从列表创建Series对象,还可以从字典、NumPy的ndarray数组、range()函数等创建Series对象。

【实例】从字典创建Series对象(不指定index属性)。

In[5]:dictSer=pd.Series({a:11,b:12,c:13,d:14,e:15,f:16})从字典创建Series对象时,如果不指定index属性,那么Series对象的index属性默认是字典的键

;【实例】从字典创建Series对象并指明index属性,且index属性是字典键中的部分值。

In[6]:dictSer=pd.Series({a:10,b:40,c:5,d:90,e:35,f:40},index=[a,b,e])

从字典生成Series对象,并且在Series对象中设置index属性时,如果index属性是字典中的部分键值,就相当于从字典中挑选数据。

;【实例】从字典创建Series对象并指明index属性,且index属性中存在部分标签不在字典的键中。

In[7]:dictSer=pd.Series({a:10,b:40,c:5,d:90,e:35,f:40},index=[a,b,e,k])

index属性中的标签k没有出现在字典的键中,它对应的值是NaN,这是Pandas中标记缺失值的方式。除此之外,因为字典键c并没有出现在索引中,所以它被排除在输出结果之外。

;【实例】从ndarray数组创建Series对象。

In[8]:arr1=np.array([11,12,13,14,15])

arr2=np.array([a,b,c,d,e])

serp=pd.Series(arr1,index=arr2)

Series对象定义了NumPy的ndarray数组的接口_array_(),因此NumPy函数可以直接操作Series对象。例如,使用布尔值数组进行过滤,与标量进行算术运算,或是应用数学函数,并且这些操作都会保存index属性的值连接。

In[9]:arr1[serp12]

In[10]:serp*2

In[11]:np.exp(serp)

;对于很多应用来说,在数学运算中自动对齐index属性是Series对象的一个非常有用的特性。

;Series对象本身和其索引对象都有name属性,这个特性与Pandas的其他功能集成在一起,所以一定要掌握它的name属性。

您可能关注的文档

文档评论(0)

学海无涯而人有崖 + 关注
实名认证
内容提供者

教师资格证、人力资源管理师持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年06月11日上传了教师资格证、人力资源管理师

1亿VIP精品文档

相关文档