《大数据分析:基于Python》 课件 第2章 数据类型_第1页
《大数据分析:基于Python》 课件 第2章 数据类型_第2页
《大数据分析:基于Python》 课件 第2章 数据类型_第3页
《大数据分析:基于Python》 课件 第2章 数据类型_第4页
《大数据分析:基于Python》 课件 第2章 数据类型_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大数据分析:基于Python

第2章数据类型余本国常见的数据类型有:数值型:整数类型(int)、浮点数类型(float)和复数型(complex),用于处理数值计算和算术运算。字符串类型(str):用于表示和处理文本和字符序列。列表(list)和元组(tuple):用于存储和操作多个数据元素,例如有序集合。字典(dictionary):用于存储和查找键-值对,常用于构建映射关系。集合(set):用于存储唯一的元素,提供集合操作(如并集、交集等)。布尔类型(bool):用于表示真(True)或假(False)的逻辑值。2.1字符串

像a、4、%、<等单个字母、数字、符号,我们称之为字符型。字符型(str)是一种数据类型。字符型的变量可以存储任何单个的字符,但该字符必须用引号引起来,单引号或者双引号均可,如var='a',表示变量var是一个字符型。

字符串(string)表示由多个字符组成,是一串字符的序列,可以包含任何字符,如字母、数字、符号、空格等等。字符串通常用引号(单引号或双引号)引起来表示,例如“Hello,world!”,所以一个单词、一句话、一首诗或一篇文章等,用引号引起来,它就是字符串。字符串可进行多种操作,如拼接、截取、比较等。字符串中的字符是有顺序的,从左到右按自然数(从0开始)的顺序进行编号,这个顺序号称为索引(index)。如a="python",第一个字母p的编号就是0,所以p的索引就是0,依此类推,字母y的索引是1,最后一个字母n的索引是5。这个索引称为顺序索引。索引也可以从右到左,记为-1,-2,…等等,称为逆序索引。如上a="python"的p字母的索引为-6,字母n的索引为-1。

字符串中的字符可以按照索引号提取或查找,如从a="python"中提取字符y,y的索引号为1或-5,y可用记号"python"[1]表示出来,也可表示为"python"[-5]、a[1]、a[-5]。代码演示如下。In[1]:a="python"...:print(a[1])y

In[2]:a[-5]#可以不用print(),直接运行Out[2]:'y'

In[3]:"python"[1]Out[3]:'y'

In[4]:"python"[-5]Out[4]:'y'所以若想从字符串中截取一个片段,需要索引号向后增加1,我们把这种截取称为切片。格式为变量名或字符串后带中括号[],括号内为起止(start和stop)索引号两个参数,起止索引号间用冒号隔开,In[5]:a[2:5]Out[5]:'tho'切片的格式为:var[start:stop:step]其中:var表示字符串或字符串变量start表示起始位置的索引号stop表示结束位置的索引号,不包含该索引的字符step表示步长,默认步长为1当切片范围从0开始时,start可以省略不写,同样当范围到左后一个字符时,stop也可以省略不写,如var[:3]等同var[0:3],如上例中的b[0:10:2]可以写成b[::2]。当step取负值时,表示逆序。In[9]:b[::2]Out[9]:'13579'

In[10]:a[::-1]#该方法也常用于字符串翻转Out[10]:'nohtyp'字符串是可以相加的,如字符串a和b相加,表示把a和b连接起来。In[11]:a+bOut[11]:'python123456789'字符串也可乘以一个数,表示重复。字符串a*2,表示将a重复2次。In[12]:a*2Out[12]:'pythonpython'

字符串还有很多独有的方法,比如将字符串a中的所有字母大写、首字母大写,甚至可以判断a中的字符是全为数字还是字母等。In[13]:a.upper()#将字符串中字母大写Out[13]:'PYTHON'

In[14]:a.isalpha()#判断字符串中字符是否全为字母,返回逻辑值Out[14]:True

In[15]:a.isdigit()#判断字符串中的字符是否全为数字Out[15]:False

In[16]:a.isalnum()#判断字符串是否由数字和字母组成Out[16]:True

In[17]:a.find("t")#在字符串中查找字符t,返回找到的第一个索引Out[17]:2

In[18]:a.index("t")#在字符串中查找字符t的索引,返回第一个Out[18]:2

In[19]:a.replace("o","e")#将字符串中的字符o替换成eOut[19]:'pythen'字符串的方法较多,常用的如下。str.replace(old,new):将指定的旧字符串替换为新字符串。str.strip():去掉字符串两端的空白字符。str.split():按空格或指定的分隔符将字符串拆分为多个部分,并返回一个列表。str.startswith(prefix):检查字符串是否以指定的前缀开头。str.endswith(suffix):检查字符串是否以指定的后缀结尾。str.upper():将字符串转换为大写形式。str.lower():将字符串转换为小写形式。str.capitalize():将字符串的首字母大写。str.title():将字符串中每个单词的首字母大写。str.isupper():检查字符串是否全是大写字母。str.islower():检查字符串是否全是小写字母。str.join(iterable):使用字符串作为连接符,连接可迭代对象中的元素。str.find(substring):在字符串中查找指定的子字符串,并返回它的起始位置。str.isalpha():检查字符串是否只包含字母字符。str.isdigit():检查字符串是否只包含数字字符。可用函数type()函数来测试变量的类型;测一个字符串的长度(包含有多少个字符)可用函数len()。In[20]:type(a)Out[20]:str

In[21]:len(a)Out[21]:62.2列表

在Python中,列表(List)是一种有序、可变并且允许重复元素的数据类型。列表使用方括号[]表示,每个值之间用逗号分隔,这里的每个值称为元素。如:lsi_1=[1,2,3,4,5]列表中可以包含不同数据类型的元素,如整数、浮点数、字符串,甚至是列表。In[1]:lsi_1=[1,2,3,4,5]

In[2]:lis_2=[1,2.5,"Hello",True,[1,2,3]]

In[3]:lis_2Out[3]:[1,2.5,'Hello',True,[1,2,3]]

列表是可变的,这意味着可以通过索引访问和修改列表中的元素。列表的索引同字符串的索引。In[4]:q=[10,20,30,40,50]...:print(q[0])10

In[5]:print(q[-1])#逆索引访问最后一个元素50

In[6]:q[2]=35#修改列表中索引号为2的元素...:qOut[6]:[10,20,35,40,50]修改列表中的某个元素,就是对这个位置上进行赋值。列表还支持切片操作,可以通过指定起始索引和结束索引来获取子列表:In[7]:lis_1=[1,2,3,4,5]...:print(lis_1[1:4])#输出[2,3,4],获取索引为1到3的子列表[2,3,4]

In[8]:print(lis_1[:3])#输出[1,2,3],从头部获取索引为0到2的子列表[1,2,3]

In[9]:print(lis_1[2:])#输出[3,4,5],从索引为2开始获取到最后的子列表[3,4,5]

列表像字符串一样,也具有许多其他常用的方法,如添加元素list.append()、合并列表list.extend()、计算列表长度len(list)等等。In[10]:q.append("a")#给列表追加元素

In[11]:qOut[11]:[10,20,35,40,50,'a']

In[12]:q.extend(lis_1)#合并两个列表

In[13]:qOut[13]:[10,20,35,40,50,'a',1,2,3,4,5]合并两个列表除了extend()方法,也可以直接使用+法,如q+lis_1。当需要在列表中指定的索引位置插入一个元素时,可使用insert()方法。In[14]:w=[1,2,3,4]...:w.insert(2,"a")#在w中的索引为2的位置上插入元素a

In[15]:wOut[15]:[1,2,'a',3,4]使用del关键字可以删除列表中指定索引位置的元素,或者删除整个列表。In[16]:delw[2]#删除w中的索引为2的是元素

In[17]:wOut[17]:[1,2,3,4]In[18]:w.pop(1)#删除索引号为1的元素,并会返回被删除的元素Out[18]:2

In[19]:wOut[19]:[1,3,4]

In[20]:w.pop()#默认删除列表中最后一个元素Out[20]:4

In[21]:wOut[21]:[1,3]pop()方法用于删除指定索引位置的元素,并返回被删除的元素,默认删除最后一个元素。In[22]:delw#删除整个列表

In[23]:w#列表已经被删除,所以会抛出变量不存在错误Traceback(mostrecentcalllast):

CellIn[36],line1w

NameError:name'w'isnotdefined

列表删除元素也可以使用remove()方法,remove()方法用于按照给定的元素进行删除,删除的是列表中的第一个匹配项(从左到右)。In[24]:r=[10,"a",35,40,50,'a',1,2,3,4,5]

In[25]:r.remove("a")#删除元素a,从左到右第一个

In[26]:rOut[26]:[10,35,40,50,'a',1,2,3,4,5]

In[27]:delr[3:5]#删除列表中的一个切片

In[28]:rOut[28]:[10,35,40,1,2,3,4,5]

列表还有一些其他的函数和方法,如测列表的长度(包含元素的个数)、最大值、最小值、排序、索引查询等In[29]:len(r)Out[29]:8

In[30]:sorted(r)#利用函数排序,默认为升序Out[30]:[1,2,3,4,5,10,35,40]

In[31]:r#利用sorted()排序不改变原函数Out[31]:[10,35,40,1,2,3,4,5]

In[32]:sorted(r,reverse=True)#添加参数reverse=False可逆序Out[32]:[40,35,10,5,4,3,2,1]

In[33]:r.sort()#利用方法排序,默认升序,原列表被改变In[34]:rOut[34]:[1,2,3,4,5,10,35,40]

In[35]:r.sort(reverse=True)#添加参数reverse=True可逆序

In[36]:rOut[36]:[40,35,10,5,4,3,2,1]

In[37]:r.reverse()#对列表逆序

In[38]:rOut[38]:[1,2,3,4,5,10,35,40]

In[39]:max(r)#求列表中的最大值Out[39]:40

In[40]:min(r)#求列表中的最小值Out[40]:1

In[41]:r.index(35)#求列表中元素35的索引号Out[41]:6

In[42]:r.count(2)#统计列表中某个元素出现的次数Out[42]:1

也可以查找列表中出现次数最多的元素,利用max()函数中的参数key,key的值为列表的方法,注意省略方法后面的括号()。In[43]:nums=[2,1,3,6,5,1,2,1]...:most=max(nums,key=nums.count)#出现频次最大的数...:mostOut[43]:11表示是nums列表中出现次数最多的元素。2.3元组Python中的元组(tuple)是一种不可变、有序的元素集合,其中每个元素可以是任意类型。

创建方法与列表相似,不同的是用小括号(),并且元组是不可变的,即元组是不能更改其中的元素。In[1]:t=(1,2,"a",[3,4])

In[2]:tOut[2]:(1,2,'a',[3,4])In[3]:t[3]Out[3]:[3,4]

In[4]:len(t)Out[4]:4

In[5]:type(t)Out[5]:tuple元组的索引切片方法同列表,包括一些函数如len()、type()等。

元组和列表之间可以相互转化,将元组转化为列表,只需使用list()函数即可,将列表转化为元组只需使用tuple()即可。In[6]:list(t)#将t元组转化为列表Out[6]:[1,2,'a',[3,4]]

In[7]:tuple(_)#将列表转化为元组Out[7]:(1,2,'a',[3,4])说明:单下划线“_”在这里作用是表示上一次运算的结果。此处在执行list(t)时没有将其赋值给某个变量,所以用“_”来表示。In[8]:t1=(1,2,3)...:t2=("a","b")

In[9]:t1+t2Out[9]:(1,2,3,'a','b')

In[10]:t2*2#元组乘以数Out[10]:('a','b','a','b')

In[11]:list(t2)*2#列表乘以数Out[11]:['a','b','a','b']元组和列表一样,可以使用“+”和“*”,分别表示元素合并和重复。2.4字典

字典用花括号({})创建,字典中的每个元素是一个键(key)值(key)对,键和值之间用冒号(:)隔开,而元素(多个键值对)之间用逗号隔开,。Python中的字典(dict)是一种可变、无序的键值对集合,其中键是唯一的不可变数据类型。字典是一种非常有用的数据类型,它可以用于存储、访问和操作数据,支持高效的查找、插入和删除操作。In[1]:d={"apple":1,"banana":2,"orange":3}...:dOut[1]:{'apple':1,'banana':2,'orange':3}创建字典的方法比较多,也可以以二元元组、二原列表或者相互交叉等创建。但需要注意的是,列表数据类型是不能作为字典的键名。In[2]:d1=dict([(1,2),("a","b")])...:d1Out[2]:{1:2,'a':'b'}

In[3]:d2=dict(([1,2],("a","b")))...:d2Out[3]:{1:2,'a':'b'}字典的元素的值是可以修改的,由于字典是无序的,所以没有像字符串、列表的索引,但有类似于索引的操作,把键名key当作索引即可。如上面的字典变量d2,要提取元素键为a的值,可以用d2["a"],返回其值value为"b"。In[4]:d2["a"]Out[4]:'b'这种提取字典键值的方法仅限于提取的键名在字典中存在,否则会报错。为了改变这种不友好的方式,可以使用get()方法。get()方法提取的键值不一定在字典中存在,若存在则返回提取到对应的值,若字典中不存在,则什么也不返回,当然也可以使用参数给出提示信息,如“你提取的键名不存在”。In[5]:d2.get("a")Out[5]:'b'

In[6]:d2.get("d")#没有d的键值对,所以返回空

In[7]:d2.get("d","你提取的键名不存在!")Out[7]:'你提取的键名不存在!'In[8]:d2["c"]=3#增加元素,因为d2中没有键名为“c”的键值对...:d2Out[8]:{1:2,'a':'b','c':3}

In[9]:d2["c"]=0#修改元素的值...:d2Out[9]:{1:2,'a':'b','c':0}

字典增加元素跟修改元素的值一样。修改元素的值,直接给这个元素的键赋值即可,当要修改的元素不存在时,即是添加元素。字典的合并使用update()方法,也可以使用双*合并{**dict1,**dict2}。In[10]:d1.update(d2)#合并两个字典,把d2合并到d1中去

In[11]:d1Out[11]:{1:2,'a':'b','c':0}

In[12]:{**d,**d2}#合并字典Out[12]:{'apple':1,'banana':2,'orange':3,1:2,'a':'b','c':0}In[13]:d1.pop("c")#按照给定的键名删除字典的键值对Out[13]:0

In[14]:d1Out[14]:{1:2,'a':'b'}字典的删除使用同列表相同的方法pop(),也可以使用del方法。In[15]:d2.items()#将字典转化为“类”二元元组列表模式Out[15]:dict_items([(1,2),('a','b'),('c',0)])

In[16]:list(_)#转化为列表Out[16]:[(1,2),('a','b'),('c',0)]字典可以转化为二元元组或列表,使用items()方法。字典还提供了其他许多方法,用于添加、删除、访问和操作键值对。以下是一些常用的字典方法:keys():返回字典中所有的键。values():返回字典中所有的值。items():返回字典中所有的键值对。get(key,default):根据键获取值,如果键不存在则返回默认值。pop(key[,default]):根据键移除并返回值,如果键不存在则返回默认值。clear():移除字典中的所有键值对。update(other_dict):将另一个字典的键值对添加到字典中。deld[key]:根据键删除字典中的键值对。ind.keys():检查键是否存在于字典中。In[17]:d2.keys()Out[17]:dict_keys([1,'a','c'])2.5集合Python中的集合(set)是一种可变、无序、唯一元素的集合。集合中的元素没有重复,因此集合可以用来进行去重操作。集合中的元素可以是任意类型,包括数字、字符串、列表、元组等。

集合用花括号{}表示,元素之间用逗号分开。注意空集合使用set()表示,{}表示空字典。In[1]:s={1,2,"a","b"}#创建一个集合

...:sOut[1]:{1,2,'a','b'}

In[2]:a=[1,2,3,1]

...:aa=set(a)#用列表创建一个集合,过滤掉重复元素

...:aaOut[2]:{1,2,3}

In[3]:type({})#{}表示空字典Out[3]:dictIn[4]:type(set())#set()表示空集合Out[4]:set集合添加元素可以使用add()方法;删除元素使用remove()方法。从集合中删除一个元素,也可以使用discard()方法,该方法从集合中删除一个元素时,如果元素不存在则不会报错。In[5]:s.add("d")#增加一个元素“d”In[6]:sOut[6]:{1,2,'a','b','d'}

In[7]:s.remove("d")#删除元素“d”In[8]:sOut[8]:{1,2,'a','b'}

In[9]:s.remove("e")#删除一个不存在的元素“e”会报错Traceback(mostrecentcalllast):CellIn[32],line1s.remove("e")KeyError:'e'In[10]:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论