Python数据分析(基础)
? ? 目录: Python基础:
Numpy:简述 Pandas:简述 ? ? 一、 Python基础: 1.1 文件读取 1).打开文件 打开文件: fp = open(path,打开方式,encoding=,errors=‘Ignore‘) 操作数据: 打开方式: ‘r‘:表示只读字符(readonly) ‘w‘:表示只写字符(readwrite),第一次写完,如果没有关闭文件,继续写,那么会将原本的内容覆盖 ‘a‘:表示追加内容 ‘rb‘:表示只读字节(二进制数据) encoding: 编码集如果不显示定义,对应:gbk errors: ?读取文件中的数据: fp = open(path,‘r’) 写入数据到文件中: fw = open(path,‘w‘) fw = open(path,‘a‘) 关闭文件: fp.close() #关闭文件(释放资源) ? 2.2、控制语句 1).判断结构 分类:三种格式 ①. ②. ③. 1.循环结构: 1).while循环: 四要素 ①.初始化条件 可以认为是一个起始值(起点位置),代码体现就是定义一个变量,只会执行一次 ②.循环条件 得到的肯定是一个布尔值,True --> 循环继续,False --> 循环结束 一般循环条件中都会用到 ③.迭代条件 不断的去改变变量的值 ④.循环体 需要重复执行的业务逻辑代码 对于②、③、④而言可能都会被执行多次 格式: ① while ②: 执行流程:① -> ② -> ④ -> ③ -> ② -> ④ -> ③ -> ② -> 循环结束 False 2).break和continue的使用 对于break而言: 如果在循环中执行到break关键字,那么就会立刻结束当前循环 3).无限循环(死循环) 解释:循环操作如果循环条件一直为True,整个循环永远结束不了 死循环极其消耗系统资源,但是配合某些关键字(break),那么这个无限循环还是有意义的 对于while的死循环格式如下: while True: ? 4).else的语法: 在循环结构的最后可以配合else一起使用, 5).forin循环: 1).定义格式一: for x in seq: 执行流程: 从seq容器中依次去除它内部的元素给到x,后续的循环体中有可能会用到x中临时存储的值, ①.可以遍历的容器有str、list、tuple、set、dict 2).range()函数 range()函数一旦执行完毕,会返回给我一个序列(容器) 格式:range(start,end,step) 举例: range(10): 得到[0,10)
for x in range(num): 执行过程: 每次都会从num中取出一个整数值给到x,直到range容器中的所有值全部被遍历执行过了,循环结束! break和continue关键字同样可以在forin中被使用,作用和在while中是一样的 else也可以被配合使用 4).嵌套循环 格式: while中可以定义forin ①
1).外层循环执行m次,内层循环执行n次,程序一共执行了m * n 次循环
语法糖: 是一种既简洁快捷的表达式。这种式子可以给python的解释器翻译成为业务逻辑比较复杂的代码 三元运算符:简化if-else这种分支结构而出现的 列表生成式:它可以速度,效率的帮助我们生成一个新的列表 格式: [expr for x in iterable(可迭代对象:list、tuple、set...)] 8).类型转换函数: int(): float(): 将字符串类型的整数值,浮点值转换为一个float值 bool(): None:False str(): 可以将整数、浮点数、布尔值、列表、元祖、集合、字典、None转换成str list(): 可以将元祖、集合、字符串转换成列表 可以将列表、集合、字符串转换成元祖 set():
lt1 = [[‘name‘,‘zhangsan‘],(‘age‘,23),{123,‘123‘}] print(dict(lt1))
在python中有两个内置函数: chr():将编码值(整数),转换为对应的字符 ? ? 3、函数 定义:将一段功能逻辑代码,封装到一块区域中,这块区域有自己单独的名字(方法名), 之后如果想要执行次功能,只要通过方法名调用,就可以实现了 函数是一种功能、行为,一个方法只表示一个功能。 函数的定义格式: def 函数名(形参列表): 方法体 方法的命名: 方法名也需要满足标识符的规则和规范
方法的参数: 方法的形参: 定义在def方法的小括号内的标识符,可以有[0,+无穷]多个 方法被调用时,显示的传入的具体数据,实参给到形参的过程, 1).一旦定义了有参数的函数,在调用的时候,就必须显示的传递参数(实参),个位和位置都是需要我们注意的 4).python中的函数重载现象,定义在一个.py文件中的两个函数,名字相同,
定义在某个函数的内部,它可以获取到外部函数的变量,
直接定义在.py文件中的变量(函数的外部),可以给任何一个函数所使用, 局部变量: 直接定义在函数的内部,只能被自己的函数所使用, ? 列表函数: append: extend: count: 计算列表中某相同元素的个数 index: 返回某个元素在列表中第一次出现的下标位置 insert: 插入某个元素到列表的某个位置,原列表的元素依次向后移 pop: 弹出某个索引位置上的元素,默认弹出末尾元素,一次一个 remove: 删除列表中的某个匹配的元素,一个只能删除一个,最先匹配到的先删除 clear: 清空列表元素 reverse: 对列表进行反转 copy: 拷贝列表中的所有元素,返回一个新的列表(与旧的原来一致) ---》 深拷贝 sort: 将列表中的元素进行排序,默认升序排列 --》 参数:reverse=False
items: keys: 返回键集 values: 返回值集 get: 通过键找值 dict1.update(dict2): 将dict2中的键值对复制给到dict1,如果有重复的键,那就将dict2中的键对应的值 copy: 深拷贝 popitem: 弹出最后的一组键值对 pop: 传入键,得到值,将键值对弹出 clear: 高阶函数: 1).map(fn,lsd1,[lsd2]) 参数一:fn --> 函数对象 功能:将fn函数作用与lsd1中的每一个元素,得到一个可迭代对象(mapobject)返回 2).reduce(fn,lsd): 参数1:fn --> 函数对象 功能:将第一次的执行结果和lsd序列中的后续元素继续运算,.... 3).filter(fn,lsd): 解释: 4).sorted函数: 但是在它之前我们已经学过了list中的sort函数,它们要做的事情是一模一样的, ? 2.1、数据类型 整数型(int)、浮点数(小数、float)、布尔型(真假、bool)、字符串(str)、列表(list)、元祖(tuple)、字典(dict)、集合(set)、 ? 3.1、numpy NumPy系统是Python的一种开源的数值计算扩展,一个强大的N维数组对象Array,比较成熟的(广播)函数库,用于整合C/C++和Fortran代码的工具包,实用的线性代数、傅里叶变换和随机数生成函数,numpy和稀疏矩阵运算包scipy配合使用更加强大。 属性: ndim:维度 基本操作: 索引、切片、级联、变形、切分、拷贝 聚合: 4.1pandas Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的,pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具,pandas提供了大量能使我们快速便捷地处理数据的函数和方法,它使Python成为强大而高效的数据分析环境的重要因素之一。 Series:可以把Series看成一个定长的有序字典,可以通过shape,size,index,values等得到series的属性 可以通过head(),tail()快速查看Series对象的样式,可以使用pd.isnull(),pd.notnull(),或自带isnull(),notnull()函数检测缺失数据,Series对象本身及其索引都有一个name属性。 操作:创建、索引、切片 dataframe: 最常用的方法是传递一个字典来创建。DataFrame以字典的键作为每一【列】的名称,以字典的值(一个数组)作为每一列。 操作:创建、索引、级联、合并 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |