1. python pandas用法
在Python中,pandas是基于NumPy数组构建的,使数据预处理、清洗、分析工作变得更快更简单。pandas是专门为处理表格和混杂数据设计的,而NumPy更适合处理统一的数值数组数据。
使用下面格式约定,引入pandas包:
pandas有两个主要数据结构:Series和DataFrame。
Series是一种类似于一维数组的对象,它由 一组数据 (各种NumPy数据类型)以及一组与之相关的 数据标签(即索引) 组成,即index和values两部分,可以通过索引的方式选取Series中的单个或一组值。
pd.Series(list,index=[ ]) ,第二个参数是Series中数据的索引,可以省略。
Series类型索引、切片、运算的操作类似于ndarray,同样的类似Python字典类型的操作,包括保留字in操作、使用.get()方法。
Series和ndarray之间的主要区别在于Series之间的操作会根据索引自动对齐数据。
DataFrame是一个表格型的数据类型,每列值类型可以不同,是最常用的pandas对象。DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共用同一个索引)。DataFrame中的数据是以一个或多个二维块存放的(而不是列表、字典或别的一维数据结构)。
pd.DataFrame(data,columns = [ ],index = [ ]) :columns和index为指定的列、行索引,并按照顺序排列。
如果创建时指定了columns和index索引,则按照索引顺序排列,并且如果传入的列在数据中找不到,就会在结果中产生缺失值:
数据索引 :Series和DataFrame的索引是Index类型,Index对象是不可修改,可通过索引值或索引标签获取目标数据,也可通过索引使序列或数据框的计算、操作实现自动化对齐。索引类型index的常用方法:
重新索引 :能够改变、重排Series和DataFrame索引,会创建一个新对象,如果某个索引值当前不存在,就引入缺失值。
df.reindex(index, columns ,fill_value, method, limit, ) :index/columns为新的行列自定义索引;fill_value为用于填充缺失位置的值;method为填充方法,ffill当前值向前填充,bfill向后填充;limit为最大填充量; 默认True,生成新的对象,False时,新旧相等不复制。
删除指定索引 :默认返回的是一个新对象。
.drop() :能够删除Series和DataFrame指定行或列索引。
删除一行或者一列时,用单引号指定索引,删除多行时用列表指定索引。
如果删除的是列索引,需要增加axis=1或axis='columns'作为参数。
增加inplace=True作为参数,可以就地修改对象,不会返回新的对象。
在pandas中,有多个方法可以选取和重新组合数据。对于DataFrame,表5-4进行了总结
适用于Series和DataFrame的基本统计分析函数 :传入axis='columns'或axis=1将会按行进行运算。
.describe() :针对各列的多个统计汇总,用统计学指标快速描述数据的概要。
.sum() :计算各列数据的和
.count() :非NaN值的数量
.mean( )/.median() :计算数据的算术平均值、算术中位数
.var()/.std() :计算数据的方差、标准差
.corr()/.cov() :计算相关系数矩阵、协方差矩阵,是通过参数对计算出来的。Series的corr方法用于计算两个Series中重叠的、非NA的、按索引对齐的值的相关系数。DataFrame的corr和cov方法将以DataFrame的形式分别返回完整的相关系数或协方差矩阵。
.corrwith() :利用DataFrame的corrwith方法,可以计算其列或行跟另一个Series或DataFrame之间的相关系数。传入一个Series将会返回一个相关系数值Series(针对各列进行计算),传入一个DataFrame则会计算按列名配对的相关系数。
.min()/.max() :计算数据的最小值、最大值
.diff() :计算一阶差分,对时间序列很有效
.mode() :计算众数,返回频数最高的那(几)个
.mean() :计算均值
.quantile() :计算分位数(0到1)
.isin() :用于判断矢量化集合的成员资格,可用于过滤Series中或DataFrame列中数据的子集
适用于Series的基本统计分析函数,DataFrame[列名]返回的是一个Series类型。
.unique() :返回一个Series中的唯一值组成的数组。
.value_counts() :计算一个Series中各值出现的频率。
.argmin()/.argmax() :计算数据最大值、最小值所在位置的索引位置(自动索引)
.idxmin()/.idxmax() :计算数据最大值、最小值所在位置的索引(自定义索引)
pandas提供了一些用于将表格型数据读取为DataFrame对象的函数。下表对它们进行了总结,其中read_csv()、read_table()、to_csv()是用得最多的。
在数据分析和建模的过程中,相当多的时间要用在数据准备上:加载、清理、转换以及重塑。
在许多数据分析工作中,缺失数据是经常发生的。对于数值数据,pandas使用浮点值NaN(np.nan)表示缺失数据,也可将缺失值表示为NA(Python内置的None值)。
替换值
.replace(old, new) :用新的数据替换老的数据,如果希望一次性替换多个值,old和new可以是列表。默认会返回一个新的对象,传入inplace=True可以对现有对象进行就地修改。
删除重复数据
利用函数或字典进行数据转换
df.head():查询数据的前五行
df.tail():查询数据的末尾5行
pandas.cut()
pandas.qcut() 基于分位数的离散化函数。基于秩或基于样本分位数将变量离散化为等大小桶。
pandas.date_range() 返回一个时间索引
df.apply() 沿相应轴应用函数
Series.value_counts() 返回不同数据的计数值
df.aggregate()
df.reset_index() 重新设置index,参数drop = True时会丢弃原来的索引,设置新的从0开始的索引。常与groupby()一起用
numpy.zeros()
2. 2020年浙江省高校计算机二级Python考试大纲
2020年浙江省高校计算机二级Python考试大纲
考试目标
Python语言是一种解释运行、面向对象、扩展性强的程序设计语言,是大学生掌握计算机编程能力、理解计算机解决问题方法的有效工具。学生通过对该语言程序设计的学习,应能掌握Python语言的基本语法和基本编程方法,理解程序设计中的计算思维,并能上机调试运行,解决实际问题。
基本要求
1.熟练掌握Python开发环境;掌握转变程序为可执行文件的方法。
2.熟练掌握Python基本语法。
3.具备Python程序的设计、阅读和分析能力。
4.掌握数据库相关知识。
5. 掌握Python标准库的使用方法,了解Python第三方库的获取、安装和使用方法。
考试内容
一、Python基本语法
1.语法元素:程序格式、缩进、注释、标识符(名称)、常量、变量、函数、表达式、保留字、数据类型、赋值语句、模块。
2.基本输入输出函数:input()、eval()、print()。
3.Python程序书写风格:Python代码规范、常用书写风格。
4.Python的特点:Python的优点和缺点。
二、基本数据类型
1.数字类型:整数类型、浮点数(实数)类型和复数类型。
2.数字类型运算:数值运算操作符、数值运算函数。
3.字符串类型:索引、分片、基本format()格式化方法。
4.字符串类型的操作:字符串操作符、处理函数和处理方法。
5.常量和变量:变量的定义、赋值和使用。
6.系统函数和表达式:常用系统函数;运算符、优先级、运算规则。
7.类型判断和类型转换:类型判断函数、类型转换函数。
三、程序控制结构
1.程序的3种控制结构:顺序、分支、循环结构。
2.选择结构:单分支结构、二分支结构、多分支结构。
3.循环结构:遍历循环、无限循环、pass、break和continue。
4.异常处理:try … except。
四、用户函数、模块和代码复用
1.函数的定义。创建函数;形参(形式参数)。
2.参数传递:可选参数传递、参数名称传递、函数的返回值。
3.函数的调用。递归调用,实参(实际参数)。
4.变量作用域:局部变量和全局变量;本地变量和外部变量。
5.模块及其使用:模块的定义、创建和使用。
五、组合数据类型
1.列表:列表的定义、操作函数和操作方法。
2.元组(可选):元组的定义、操作函数和操作方法。
3.集合(可选):集合的定义、操作函数和操作方法。
4.字典类型:字典定义、键值对、操作函数和操作方法。
六、文件和数据格式化
1.文件的使用:文本和二进制文件的打开、读写、追加和关闭。
2.数据组织的维度:一维数据和二维数据。
3.一维和二维数据的处理:表示、存储和处理。
4.采用CSV格式对一二维数据文件的读写:CSV格式的使用。
七、对象与方法
1.基本概念:类、对象、属性、事件、方法、面向对象设计OOP。
2.OOP的特点:类和对象的封装性、继承性和多态性等。
3.类和对象:类和对象的创建和使用。
4.事件和方法:事件和方法的设计、实现和调用方法。
八、数据库
1.数据库基本概念:数据Data、表Table、数据库DB、数据库管理系统DBMS、数据库系统DBS。
2.数据库和表:表结构设计、创建数据库、创建表、删除表。
3.记录的编辑和查询:插入、修改、删除、查询、游标。
九、Python计算生态
1.标准库:tkinter 库、turtle库、random库。
2.第三方库的获取和安装方法:了解第三方库的使用方法。
以上就是小编整理的2020年浙江省高校计算机二级Python考试大纲,准备参加二级考试的同学们都来了解一下吧。想要及时了解考试动态的小伙伴可“ 免费预约短信提醒”届时环球青藤会及时为大家推送全国计算机等级考试相关信息提醒。环球青藤友情提示:对于想要参加计算机二级考试的小伙伴们,环球青藤特地为您准备了计算机二级考试资料,如有需要请点击文章下方“免费下载>>>计算机二级考试资料”下载学习。
3. python tablewidget怎么自定义行距
例如上面效果的制作方法: 1、插入一个4列若干行的表格; 2、选中第一行,单击表格工具布局---->合并单元格按钮,将其变为一个单元格,并输入成绩表,设置为居中; 3、在第二行输入相应标题行内容; 4、选中第一行,单击页面布局---->页面边框按...
4. 怎样使用Python图像处理
Python图像处理是一种简单易学,功能强大的解释型编程语言,它有简洁明了的语法,高效率的高层数据结构,能够简单而有效地实现面向对象编程,下文进行对Python图像处理进行说明。
当然,首先要感谢“恋花蝶”,是他的文章“用Python图像处理 ” 帮我坚定了用Python和PIL解决问题的想法,对于PIL的一些介绍和基本操作,可以看看这篇文章。我这里主要是介绍点我在使用过程中的经验。
PIL可以对图像的颜色进行转换,并支持诸如24位彩色、8位灰度图和二值图等模式,简单的转换可以通过Image.convert(mode)函数完 成,其中mode表示输出的颜色模式。例如''L''表示灰度,''1''表示二值图模式等。
但是利用convert函数将灰度图转换为二值图时,是采用固定的阈 值127来实现的,即灰度高于127的像素值为1,而灰度低于127的像素值为0。为了能够通过自定义的阈值实现灰度图到二值图的转换,就要用到 Image.point函数。
深度剖析Python语法功能
深度说明Python应用程序特点
对Python数据库进行学习研究
Python开发人员对Python经验之谈
对Python动态类型语言解析
Image.point函数有多种形式,这里只讨论Image.point(table, mode),利用该函数可以通过查表的方式实现像素颜色的模式转换。其中table为颜色转换过程中的映射表,每个颜色通道应当有256个元素,而 mode表示所输出的颜色模式,同样的,''L''表示灰度,''1''表示二值图模式。
可见,转换过程的关键在于设计映射表,如果只是需要一个简单的箝位值,可以将table中高于或低于箝位值的元素分别设为1与0。当然,由于这里的table并没有什么特殊要求,所以可以通过对元素的特殊设定实现(0, 255)范围内,任意需要的一对一映射关系。
示例代码如下:
import Image # load a color image im = Image.open(''fun.jpg'') # convert to grey level image Lim = im.convert(''L'') Lim.save(''fun_Level.jpg'') # setup a converting table with constant threshold threshold = 80 table = [] for i in range(256): if i < threshold: table.append(0) else: table.append(1) # convert to binary image by the table bim = Lim.point(table, ''1'') bim.save(''fun_binary.jpg'')
IT部分通常要完成的任务相当繁重但支撑这些工作的资源却很少,这已经成为公开的秘密。任何承诺提高编码效率、降低软件总成本的IT解决方案都应该进行 周到的考虑。Python图像处理所具有的一个显着优势就是可以在企业的软件创建和维护阶段节约大量资金,而这两个阶段的软件成本占到了软件整个生命周期中总成本 的50%到95%。
Python清晰可读的语法使得软件代码具有异乎寻常的易读性,甚至对那些不是最初接触和开发原始项目的程序员都 能具有这样的强烈感觉。虽然某些程序员反对在Python代码中大量使用空格。
不过,几乎人人都承认Python图像处理的可读性远胜于C或者Java,后两 者都采用了专门的字符标记代码块结构、循环、函数以及其他编程结构的开始和结束。提倡Python的人还宣称,采用这些字符可能会产生显着的编程风格差 异,使得那些负责维护代码的人遭遇代码可读性方面的困难。转载