Python 数据处理|学习笔记

简介: 快速学习 Python 数据处理

开发者学堂课程【高校精品课-华东师范大学-人工智能基础:Python 数据处理】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/920/detail/15569


Python 数据处理

 

Python 的数据类型

1、Number 数值型

本节课学习 Python 的数据处理,Python3 中提供了六个标准的数据类型,第一个是 Number 数值型,后面都是序列,包括 String字符串也是序列。数列就是包含多个数值能逐个进行访问。

数值型是一个不可变类型,这句话的理解看

i=3  print(id(i))  

i+=1  print(id(i))

这段代码,运行通过ID函数可以看到变量i在加1之后,内存地址发生了改变,i+=1不是在原有的int对象上+1,而是重新创建一个int对象,其值为4,字符串是一种序列。

访问单个字符时用中括号指定下标,输入

str=pystring   print(str[1]),

把第一个字符打出来,这时可以看到str的下标是从0开始的,当需要切片时,使用头下标冒号尾下标作为切片参数,print(str[1:3]),可以看到截取的是第二第三个字符,可以将这种访问方式想象为栅栏式访问方法。

 image.png

例如对字符a、b、c、d、e、f来说,位子是在字符的前面,可以从前面开始,先是0号位置的栅栏,接下来才是0号数据,其次为1号位置,1号数据。2号位置,2号数据。

3号位置,3号数据。下面为str数据类型,原数位置正方向依次为0、1、2、3、4、5,反方向为-1、-2、-3、-4、-5、-6。访问2,假设为s,s[2]:p。再来访问-4位置,s[-4]:p,铁球的位置为原数的栅栏位置,分别为0、1、2、3、4、5、6,反方向为-1、-2、-3、-4、-5、-6。访问s[1:3] :op,s[4: ]:NK,s[-3:-1];IN,s[  :-4】:WO。这就是字符的访问。

image.png

要访问 str 的[1:3]发现是从1号位子到3号位子之间的数据,获取的是第二个字符和第三个字符,因为数据3是在位子3的前面。Python 的基本序列访问方式都与字符串相似,特殊情况,比如从后往前访问,可以看到-1的数据以及-1的位置是反过来的。

 image.png

继续输入print(str[-3:-1])运行,这时截取出来的是in即倒数第三个和倒数第二个字符,接下来输入 print(str[2:-1]) 运行,这时截取的是正数第三个s和倒数第二个n字符,如果冒号后边没有索引直到最后,继续输入print(str[2:])运行,这时可以发现从编号2即第三个字符开始一直到最后,获取第三个字符之后的所有字符。同样如果从第一个开始也可以省略冒号前面的索引,比如 print(str[ : ])运行,这时读取所有的字符。

2、列表类型 list

接下来要介绍的数据类型是列表类型 list,列表是 Python 出现最多的数据类型,由于使用方便,因此处理数据是大多用列表,列表的数据用方括号,里边可以包含任何数据类型,甚至还可以在嵌套列表。列表list的切片方式和字符串相同,也是头下标冒号尾下标。输入lis=[‘cat’,56,1.13.short,[7,8,9]],7,8,9是一个嵌套的子列表,运行使用lis查看。

下面介绍列表怎样建利,集循环列表中每一项数据。建立一个列表数据有两种方式,第一种是for,使用for语句直接建立 list 对象,可以输入for item in lis:  print(item)运行,可以看到列表中的每一项都被打印出来了。

第二种访问列表的方式是使用下标的便利,输入for  i  in  range (len(lis)):print (lis[i]),len函数可以获取列表的长度。这个例子先试用 len 函数获取列表的长度,接下来使用range函数生成下标序列,range 函数的作用是生成从【0,n-1】的整数序列,在 for 循环中依次取每个数字作为下标来访问列表的每一项。

image.png

对比两种方法的区别,方法一是直接读取每一项,方法二是按下标访问。

3、按照索引便利

第三种便利列表的方法是按照索引便利,输入for i  in  enumerate(lis):print(i)运行,使用 enumerate 函数将可便利的数据对象组合成一个索引序列,再结合 for 循环进行便利,这个方法可以用于列表,此外元组和字符串也可以使用。

image.png

4、元组 tup

第四种数据类型是元组 tup ,元组和列表很像,但是元组中的数据不可改变,而 list 可以修改,元组中的数组用小括号()表示,它的切片方式和字符串的序列相同,

输入tupl=(‘cat’,56,1.13.short,[7,8,9]),tupl运行可以看到元组创建完成,接下来输入 tupl[3:  ]访问,这便是从3开始一直到最后,即第四个第五个元素。还可以对元组进行拼接,接下来新建一个短的元组,输入tinytuple=(fast,10)接下来将短的元组拼接到前面的tupl当中即print(tupl+tinytuple),进行打印可以看到短的元组已经拼接到之前的元组后面。

需要注意的是原来的 tupl 并没有被改变,可以查看 tupl 发现仍然是原来的值。另外还有一个问题元组是不可变的,但元组里面放了 list,list 是刻修改的。由于 list 可修改即使放在了元组里还是可以修改。

image.png

接下来进行修改元组中的可修改项,近似于二维数字访问,输入 tupl第一个下标为[4],第二个下标为[1],运行得到了 list7、8、9中的8,第五个元素是列表7、8、9,其中的索引1表示第二个,因此取的是8。接下来将8修改成6再查看 tupl,可以看到字符8修改成6,之后为7、6、9修改成功。

image.png

5、字典类型 dictionary

字典类型dictionary 是要介绍的另外一种类型,它的形式比较特殊,需要注意的是它具有 k和value 成对的,k是键值,当使用字典构造的二位数据之后,k可以理解为数据的 title,也可以当做数据的特征名使用,dictionary 的数据用大括号扩起来,刚才学习了中括号的列表,小括号的元组,现在是大括号的字典。

输入dict={Name:Zara,Age:7,‘class’:First}查看,这是学生 Zara的信息,一个班级有很多学生,因此一个k后面就要跟一组数据,比如列表就可以作为value使用。

下面将name后面挂入一个列表Zara后面增加tom,may。Age 也修改成列表【7,8,7】,class保持不变。可以看到 name 和 age 都变成了list,也可以直接添加k和 value,输入dict[score]=100,dict查看,可以看到新的score:{100}已经加入。在使用时可以使用k直接去一个数据,这就是字典方便的地方。将k放在中括号里进行读取。比如输入dict[name]查看name列表。

image.png

6、set 集合

最后介绍的数据类型就是 set 集合,集合也是用大括号来定义数据,集合的概念来自于数学中的集合,集合一般处理包含关系,值得注意的是集合中的数据不重复且无序,只用来判断集合里面谁在里面谁不在里面不关心数据,所以集合是无序的。

当按顺序放到集合中,读取出来的顺序是不一样的,输入sset={dog,cat,cow,puck,pig}

查看 sset,可以发现sset和原来定义中的已经发生变化,集合是无序的。

集合的数据是不重复的,重复的数据放进去会被去除,在实际应用中是很有用的小技巧,经常用于数据去重复。

输入sset={dog,cat,cow,puck,pig},

在刚才的数据中增加一项

sset={dog,cat,cow,puck,pigdog},

接下来显示sset,可以看到结果当中只保留了一个 dog,重复的数据被去除,集合也使用大括号和 dict 共用一种。

但当创建空集合时不能用大括号,只能用set 括号定义空集合,因为空的大括号创建的是空字典。空字典是优先的,集合常用的操作是判断一个数据在不在里面使用 in 操作符,输入‘cat’  in  sset,返回的是 true。

如果输入‘ccat’  in  sset,返回的是false。

In 返回的是 true 和 false 真还是假,这就是判断一个集合当中是否存在数据。

image.png

以上就是 Python 的六种标准类型,充分体现了 Python 充分、强大的数据处理能力。

相关文章
|
20天前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
51 0
|
1月前
|
数据采集 存储 数据处理
Python爬虫-数据处理与存储(一)
Python爬虫-数据处理与存储(一)
|
30天前
|
数据采集 JSON 数据处理
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
抓取和分析JSON数据:使用Python构建数据处理管道
|
1月前
|
网络协议 Java Linux
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
本文介绍了PyAV库,它是FFmpeg的Python绑定,提供了底层库的全部功能和控制。文章详细讲解了PyAV的安装过程,包括在Windows、Linux和ARM平台上的安装步骤,以及安装中可能遇到的错误和解决方法。此外,还解释了时间戳的概念,包括RTP、NTP、PTS和DTS,并提供了Python代码示例,展示如何获取RTSP流中的各种时间戳。最后,文章还提供了一些附录,包括Python通过NTP同步获取时间的方法和使用PyAV访问网络视频流的技巧。
231 4
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
|
1月前
|
Python
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
使用Python的socket库实现客户端到服务器端的图片传输,包括客户端和服务器端的代码实现,以及传输结果的展示。
139 3
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
|
21天前
|
存储 数据处理 Python
Python科学计算:NumPy与SciPy的高效数据处理与分析
【10月更文挑战第27天】在科学计算和数据分析领域,Python凭借简洁的语法和强大的库支持广受欢迎。NumPy和SciPy作为Python科学计算的两大基石,提供了高效的数据处理和分析工具。NumPy的核心功能是N维数组对象(ndarray),支持高效的大型数据集操作;SciPy则在此基础上提供了线性代数、信号处理、优化和统计分析等多种科学计算工具。结合使用NumPy和SciPy,可以显著提升数据处理和分析的效率,使Python成为科学计算和数据分析的首选语言。
29 3
|
1月前
|
JSON 数据格式 Python
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
本文介绍了如何使用Python的socket模块实现客户端到服务器端的文件传输,包括客户端发送文件信息和内容,服务器端接收并保存文件的完整过程。
150 1
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
|
21天前
|
存储 数据挖掘 数据处理
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第26天】Python 是数据分析领域的热门语言,Pandas 库以其高效的数据处理功能成为数据科学家的利器。本文介绍 Pandas 在数据读取、筛选、分组、转换和合并等方面的高效技巧,并通过示例代码展示其实际应用。
31 2
|
21天前
|
存储 机器学习/深度学习 算法
Python科学计算:NumPy与SciPy的高效数据处理与分析
【10月更文挑战第26天】NumPy和SciPy是Python科学计算领域的两大核心库。NumPy提供高效的多维数组对象和丰富的数学函数,而SciPy则在此基础上提供了更多高级的科学计算功能,如数值积分、优化和统计等。两者结合使Python在科学计算中具有极高的效率和广泛的应用。
39 2
|
12天前
|
分布式计算 并行计算 大数据
Python编程中的高效数据处理技巧
Python编程中的高效数据处理技巧
31 0