Python数据分析基础:王斌会第三章-Python编程与numpy、pandas详解

1 下载量 134 浏览量 更新于2024-06-25 收藏 2.72MB PDF 举报
"该资源是Python数据分析基础教程的第三章,主要讲解了Python编程分析的基础知识,包括Python的数据类型、数值分析库numpy以及数据分析库pandas的使用。内容涵盖了一维和二维数组的创建,以及如何利用numpy生成不同类型的随机数。在pandas部分,详细阐述了序列Series和数据框DataFrame的创建、操作与合并,如序列的合并方法和数据框的生成、增加列、删除列以及处理缺失值等。" 在Python数据分析中,理解数据类型和使用高效的数值计算库是至关重要的。第三章首先介绍了Python的基本数据类型,如整型、浮点型、字符串、布尔型等,这些是构建数据结构的基础。然后,章节聚焦于numpy库,它是Python科学计算的核心库,提供了高性能的多维数组对象。 在numpy部分,讲解了如何创建一维数组,例如使用`np.random.randint()`生成指定范围内的随机整数,`np.random.rand()`生成0到1之间的均匀分布随机数,以及`np.random.randn()`生成标准正态分布的随机数。此外,还介绍了二维数组的创建,如`np.empty()`, `np.zeros()`, `np.ones()`用于创建空数组、全零矩阵和全一矩阵,以及`np.eye()`生成单位矩阵。 接下来,章节深入到了pandas库,这是一个强大的数据分析工具,它提供了一系列高效操作大型数据集所需的工具。在pandas中,Series是一种类似于一维数组的对象,可以看作是有标签的数组。讲解了如何合并Series,例如使用`pd.concat()`函数,通过设置`axis`参数可以选择按行或按列合并。 对于DataFrame,它是pandas的主力数据结构,类似于二维表格,包含了行索引和列标签。这里详细说明了DataFrame的创建方法,包括创建空数据框、根据列表或字典创建数据框。此外,还展示了如何向DataFrame增加列,删除列,以及如何处理缺失值,如检查缺失值`isnull()`和统计每列缺失值数量`isnull().sum()`。 这个教程章节提供了Python数据分析的基础知识,涵盖了从基本数据类型到高级数据分析工具的使用,是学习Python数据处理的重要参考资料。通过学习和实践这些内容,读者能够有效地组织和分析数据,为进一步的数据探索和建模打下坚实的基础。
2022-12-23 上传
《python数据分析基础教程》 ⼀、导⼊常⽤numpy模块 from numpy import * //可以直接引⽤numpy中的属性XXX import numpy as np //引⽤numpy中的属性⼀定要np.XXX ⼆、常⽤函数以及转化关系 np.arange() 对应 python中的range() np.array() 对应 python中的list np.dtype() 对应 python中的type() tolist()函数可以将numpy数组转换成python列表: 列表转为数组: warning:Passing 1d arrays as data is deprecated in 0.17 and willraise ValueError in 0.19. Reshape your data either using X.reshape(-1, 1) if your data has a single feature or X.reshape(1, -1) if it contains a single sample. 这个warning主要就是有些函数参数应该是输⼊数组,当输⼊列表时就会警告!! 三、numpy中数组操作函数 数组组合函数 将ndarray对象构成的元组作为参数输⼊ (1)⽔平组合:hstack((a,b)) 或者concatenate((a,b),axis=1) (2)垂直组合:vstack((a,b)) 或者concatenate((a,b),axis=0) (3)列组合:column((a,b)) (4)⾏组合:row_stack((a,b)) 数组的分割函数 (1)⽔平分割:hsplit(a,3) 或者 split(a,3,axis=1) (2)垂直分割:vsplit(a,3) 或者 split(a,3,axis=0) 四、⽂件处理——os库 1.os.system() 运⾏shell命令 2.os.listdir(path) 获得⽬录中的内容 3.os.mkdir(path) 创建⽬录 4.os.rmdir(path) 删除⽬录 5.os.isdir(path) os.isfile(path) 判断是否为⽬录或者⽂件 6.os.remove(path) 删除⽂件 7.os.rename(old, new) 重命名⽂件或者⽬录 8.os.name 输出字符串指⽰正在使⽤的平台。如果是window 则⽤'nt'表⽰,对于Linux/Unix⽤户,它是'posix' 9.os.path.join() 在⽬录后⾯接上⽂件名 10.os.path.split() 返回⼀个路径的⽬录名和⽂件名 11.os.path.splitext() 分离⽂件名与扩展名 12.os.path.getsize(name) 获得⽂件⼤⼩,如果name是⽬录返回0L 14.os.path.abspath(")获得当前路径 15.os.path.dirname()返回⼀个路径的⽬录名 五、使⽤matplotlib画图(第九章 ) 前⾯⼏个列⼦主要讲解了通过多项式函数通过plt.plot()函数构建绘图,补充⼀下在机器学习中散点绘制 import numpy as np import matplotlib.pyplot as plt fig=plt.figure() ax=fig.add_subplot(111) x1=[2, 2.6, 2.8] y1=[2, 2.4, 3] x2=[4,5 ,6] y2=[1.3, 2, 1.2] ax.scatter(x1,y1,s=20,c='red') ax.scatter(x2,y2,s=50,c='blue') plt.show() 另外:做数据分析——sklearn库 from sklearn import preprocessing 数据预处理:归⼀化、标准化、正则化处理 from sklearn import preprocessing preprocessing.normalize(features, norm='l2')//正则化