python
文章平均质量分 67
python学习历程
今晚滿天星
一直在成长的路上
展开
-
37 Numpy数值计算基础--Numpy数组对象ndarray
首先,理解Python中的数据类型。Python整数不仅仅是一个整数,因为标准的Python实现是用C编写的。这意味着每个Python对象都只是一个巧妙伪装的C结构,它不仅包含它的值,还包含其他信息。例如,当我们在Python中定义一个整数时,比如“x=10000”,“x”不只是一个“原始”整数。 它实际上是一个指向复合C结构的指针,它包含几个值。区别:一个C整数本质上是一个在内存中位置的标签,它是字节编码的一个整数值。Python整数是指向包含所有Python对象信息的内存位置的指针,包括包含..原创 2021-04-23 14:43:29 · 123 阅读 · 0 评论 -
42 pandas统计分析基础--描述分析DataFrame数据及转换与处理时间序列数据
数值型数据的描述性统计主要包括了计算数值型数据的完整情况、最小值、均值、中位数、最 大值、四分位数、极差、标准差、方差、协方差和变异系数等。pandas库基于NumPy,自然也可以用一些统计函数对DataFrame进行描述性统计。pandas还提供了一个方法叫作describe,能够一次性得出DataFrame所有数值型特征的非空值数 目、均值、四分位数、标准差。描述类别型特征的分布状况,可以使用频数统计表。pandas库中实现频数统计的方法为value_countsdescribe方..原创 2020-10-24 09:58:53 · 394 阅读 · 0 评论 -
41 pandas统计分析基础--DataFrame的常用操作
DataFrame是最常用的pandas对象,类似表格。完成数据读取后,数据就以DataFrame数据结构存储在内存中。 但此时并不能直接开始统计分析工作,需要使用DataFrame的属性和方法堆数据的大小、分布等基本数据状况有一个了解。 只有对数据基本状况有了一个深度的了解,才能够依据数据的状况,进行量身定制的统计分析。有一些基础属性。如ndim是维度数、dtypes是类型、shape是数据形状(行列数目)等。查看访问DataFrame中的数据:对单列数据的访问:DataFram..原创 2020-10-24 08:55:23 · 393 阅读 · 0 评论 -
40 pandas统计分析基础--读写不同数据源的数据
数据读取是进行数据预处理、建模与分析的前提。不同的数据源,需要使用不同的函数读取。pandas内置了十几种数据源读取函数和对应的数据写入函数。常见的数据源有三种:1.数据库数据 2.文本文件(包括一般TXT和CSV文件)3.Excel文件。掌握这三种数据源读取方法,能够完成80%左右的数据读取工作。这里主要介绍文本文件读取文本文件是一种由若干行字符构成的计算机文件,它是一种典型的顺序文件。csv是一种常用逗号分割的文件格式,因为其分隔符不一定是逗号,又被称为字符分隔文件,文件以纯文本形式存储表格.原创 2020-10-23 23:53:16 · 380 阅读 · 0 评论 -
39 pandas统计分析基础--DataFrame
创建:创建DataFrame的方法有很多,最常用的一种是直接传入一个由等长列表或Numpy数组组成的字典:import pandas as pddata = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada', 'Nevada'], 'year': [2000, 2001, 2002, 2001, 2002, 2003], 'pop': [1.5, 1.7, 3.6, 2.4, 2.9, 3.2]}frame.原创 2020-10-23 22:48:39 · 170 阅读 · 0 评论 -
38 pandas统计分析基础--Series
简介Pandas是Python下最强大的数据分析和探索工具。名称来自于面板(PanelData)和Python数据分析(DataAnalysis)。支持类似于SQL的数据增、删、改、查,并带有丰富的数据处理函数。支持时间序列分析功能,支持灵活处理缺失数据。统计分析几乎贯穿了整个数据分析的流程,即运用统计方法,将定量与定性结合,进行的研究活动。统计分析除了包含单一数值型特征的数据集中趋势、分散趋势和峰度与偏度等统计知识外,还包含了多个特征比较计算等知识。一.pandas的数据结构介绍要使用pandas原创 2020-10-23 22:01:42 · 392 阅读 · 0 评论 -
36 数据分析入门
概念广义的数据分析包括狭义数据分析和数据挖掘。狭义数据分析是指根据分析目的,采用对比分析、分组分析、交叉分析和回归分析等分析方法,对收集来的数据进行处理与分析,提取有价值的信息,发挥数据的作用,得到一个特征统计量结果的过程。数据挖掘则是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,通过应用聚类、分类、回归和关联规则等技术,挖掘潜在价值的过程。数据分析方法有对比分析法、分组分析、交叉分析法、回归分析、聚类分析。数据分析流程:需求分析->数据获取->数据预处理->分析与原创 2020-10-17 12:14:33 · 97 阅读 · 0 评论 -
30 Python事件处理--Tkinter图形界面设计
事件(event)就是程序上发生的事情。例如用户要在键盘上某一个键单击、移动鼠标等。对于这些事件,程序需要作出反应。tkinter提供的组件通常都有自己可以识别的事件。例如当按钮被单击的时候执行特定操作或者是当一个输入栏成为焦点、而你又敲击了键盘上的某些按键,你所输入的内容就会显示在输入栏内。程序可以使用事件处理函数来指定当触发某个时间时作出的反应/操作。事件类型的通用格式:<[modifier]…type[-detail]>事件类型必须放置于尖括号<>内。modifi原创 2020-10-02 20:48:14 · 371 阅读 · 0 评论 -
29 Python利用grid几何布局管理器实现计算器
直接贴代码:import tkinter # 导入Tkinter模块import tkinter.messageboxwin = tkinter.Tk() # 创建windows窗口对象win.title('计算器')win.geometry('200x200+280+280') # 设置窗口初始大小color = ('green', 'yellow') # 定义背景色def hello(): tkinter.messagebox.showinfo("hello")原创 2020-10-01 22:06:38 · 617 阅读 · 0 评论 -
28 Python图形开发库
一.常用Python GUI库Python提供了多个图形开发界面的库,几个常用的Python GUI库如下:1.Tkinter:Python的标准Ik GUI工具包接口。可以在应用在Unix/Windows/Macintoshi系统中。2.wxPython:wxPython是一款开源软件,是Python语言的一套优秀GUI图形库,允许很方便的创建完整的、功能健全的GUI用户界面。3.Jython:可以和Java无缝集成。除了一些标准模块、Jython使用Java的模块。它几乎拥有的Python中不原创 2020-10-01 22:05:38 · 266 阅读 · 0 评论 -
27 Python扑克牌发牌程序升级版1
游戏介绍:一副扑克牌,将大小鬼抽出。把剩余的52张牌随机发给4名玩家,并显示每名玩家收到牌的情况。游戏效果:- 分析:将要发的牌按照花色进行编号。梅花:0-12,方片:13-15,红桃:26-38,黑桃:39-51。设计出三个类:Card类(代表一张牌)、Hand类(一个玩家手里拿的牌)、Poke类(一副牌)。代码实现:class Card(object): NUMBERS = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '..原创 2020-10-01 13:22:37 · 277 阅读 · 0 评论 -
26 Python中类的继承和多态
一.类的继承继承是为了代码复用和设计复用,是面向对象程序设计的重要特征之一。类继承语法:class 派生类名 (基类名): # 基类名写在括号里 派生类成员在继承关系中,已有的、设计好的类称为父类或者基类。新设计的类称为子类或派生类。派生类可以继承父类的公有成员,不能继承其私有成员。继承的一些特点:1.基类的构造函数不会被自动调用,需要在其派生类的构造中亲自专门调用。2.如果需要在派生类中调用基类的方法时,通过“基类名.方法名()"来实现,还需要带上self参数变量。3.P原创 2020-10-01 12:30:11 · 223 阅读 · 0 评论 -
25 Python中类和对象
一.类和对象的定义Python使用class关键字来定义类,class关键字之后是一个空格,然后是类的名字,然后是一个冒号,最后换行并定义类的内部实现类名的首字母一般要大写,也可以按照自己的习惯定义类名。示例:class Car: price = 100000 def introduce(self): print("这是一辆汽车")二.普通函数与成员函数成员函数一般指与特定实例绑定的函数,通过对象调用。对象本身将被作为第一个参数传递过去,普通函数没有这个特原创 2020-10-01 11:43:13 · 214 阅读 · 0 评论 -
24 面向对象设计基础
一.面向对象思想面向对象程序设计(OOP)的思想主要针对大型软件设计而提出,使得软件设计更加灵活,能够很好的支持代码复用和设计复用,并使代码具有更好的可读性和可扩展性。面向对象程序设计的一个关键性观念是将数据以及对数据的操作封装在一起,组成一个相互依存不可分割的整体,即对象。对于相同类型的对象进行分类、抽象后得出共同的特征而形成了类。关键就是如何合理的定义和组织这些类以及类之间的关系。二.对象的概念面向对象程序设计是相对于结构化程序设计而言的,它把一个新的概念–对象,作为程序代码的整个结构的基原创 2020-10-01 09:27:30 · 93 阅读 · 0 评论 -
23 Python文件夹的操作
文件有两个关键属性:路径和文件名。路径指明了文件在磁盘上的位置。文件名后面部分有扩展名,指明了文件的类型。Python有两个模块和文件及文件夹的操作相关1.os模块 2.shutil模块一.当前工作目录每个运行在计算机上的程序,都有一个“当前工作目录”。所以没有从根文件夹开始的文件名或路径,都假定工作在当前目录下。在交互式环境中:import osprint(os.getcwd())二.目录操作程序可以用os.makedirs()函数创建新目录。在交互式环境中输入以下代码.原创 2020-10-01 09:07:30 · 96 阅读 · 0 评论 -
22 Python文件的访问
一.文件程序在运行的时候,数据保存在内存的变量里,程序结束就会消失。 想要使用相同的数据,需要把数据存储在非易丢失的存储介质中。在非易丢失的介质上存储的数据以文件的形式存储。(文件有路径名)运行时的程序,通过读/写文件,来实时保存数据或获取数据。简单的说,文件是由字节组成的信息。在逻辑上具有完整意义,通常在磁盘上永久保存。Windows系统的数据文件按照编码方式分为两大类:文本文件和二进制文件。文本文件可以处理各种语言所需要的字符,只包含基本文本字符,不包括诸如字体、色号、颜色等信息。它可以在文原创 2020-10-01 08:43:57 · 133 阅读 · 0 评论 -
21 Python实现简单的井字棋游戏
游戏介绍:游戏在九块方格中进行,如果一方抢先在某个方向上(横、竖、斜)连出了3个棋子,就取得胜利。游戏进行方法是输入方格的位置代号(从0~8)。游戏效果:游戏实现:序列board代表棋盘,存储玩家、电脑的落子信息,未落棋子的地方是EMPTY。对于电脑简单的人工智能操作:1.如果一步棋可以让电脑在本轮次获胜,就走那一步。2.如果有一步棋可以让玩家在本轮次获胜,电脑就走那一步,堵住那个位置。3.否则,就选择走最佳位置。最佳位置(空的)是最中间的格子,第二好的是四个棋盘角落,剩下都是..原创 2020-09-29 19:02:30 · 323 阅读 · 0 评论 -
20 Python实现简单的扑克牌发牌程序
游戏介绍:一副扑克牌,将大小鬼抽出。把剩余的52张牌随机发给4名玩家,并显示每名玩家收到牌的情况。游戏效果:分析:将要发的牌按照花色进行编号。梅花:0-12,方片:13-15,红桃:26-38,黑桃:39-51。然后把所有牌的编号存储在一个列表中。定义洗牌函数,通过多次随机产生两个位置索引并交换两个位置的牌,达到洗牌目的。最后把洗好的牌发给玩家。代码实现:import randomn = 52 # 牌的数量poker = [i for i in range(n)..原创 2020-09-28 23:16:28 · 4254 阅读 · 1 评论 -
19 Python模块
模块(module)可以有逻辑的组织代码段,把相关代码分配到一个模块里可以让代码更易懂。简而言之,模块就是个保存了Python代码的文件。模块里可以定义函数、类和变量。在Python中模块和java中的包、c语言中的头文件很类似。比如Python中要调用sqrt函数,必须先用import关键字引入math这个模块:import mathprint('25的平方根', math.sqrt(25)) # 输出5一.导入模块的方式Python中使用关键字import来导入某个模块,例如:i.原创 2020-09-28 22:57:25 · 137 阅读 · 0 评论 -
18 Python内置函数
内置函数又称系统函数或者内建函数。是指Python本身所提供的函数,任何时候都可以使用。常用的内置函数有数学运算函数、转换函数和随机数函数等。原创 2020-09-28 17:44:27 · 53 阅读 · 0 评论 -
17 闭包和函数的递归调用(汉诺塔问题)
一.闭包在Python中,函数支持嵌套。如果在一个内部函数中对外部函数作用域(非全局作用域)的变量进行引用,那么内部函数称为闭包。闭包满足三个条件:1.存在于嵌套关系的函数中。2.嵌套的内部函数引用了外部函数的变量。3.嵌套的外部函数将内部函数名作为返回值返回。示例:def fun_out(n=0): count = [n] # 外部函数内变量 def fun_inner(): count[0] += 1 # 引用外部函数的变量 ret原创 2020-09-28 17:40:35 · 91 阅读 · 0 评论 -
16 函数参数
一.函数形参和实参的区别形参的全称是形式参数,在用def关键字定义函数时函数名后面括号里的变量称为形式参数。实参全称为实际参数,在调用函数时提供的值或者变量称为实际参数。def add(a, b): # 这里的a和b是形参 return a + badd(1, 2) # 这里的1和2是实参二.参数的传递首先明确:Python中一切皆为“对象”,变量中存放的是对象的引用。x = 2y = 2print(id(2)) # id返回对象的内存地址print(id(原创 2020-09-28 17:19:35 · 169 阅读 · 0 评论 -
15 函数的定义和使用
一.函数的定义在某些编程语言中,函数声明和函数定义是区分开的(例如c语言)。在这些编程语言中函数声明和函数定义可以出现在不同的文件中。但是在Python中,函数声明和函数定义是视为一体的。函数定义的基本形式如下:def 函数名(函数参数): 函数体 return 表达式或者值采用def进行函数定义,不用制定返回值的类型。函数参数可以是0、1或者多个。并且,参数也不用指定类型。(Python中变量都是弱类型的,会根据值维护变量类型)函数的返回值通过return语句获得。r原创 2020-09-27 21:36:57 · 923 阅读 · 0 评论 -
14 Python简单的猜单词游戏
import randomWORDS = ('python', 'jumble', 'easy', 'difficult', 'answer', 'continue', 'phone', 'thanks') # 定义一个单词库(包含多个单词的元组)print("请把字母组合成正确的单词。")iscontinue = 'y'while iscontinue == 'y' or iscontinue == 'Y': word = random.choice(WORDS) # 使用随机抽取函原创 2020-10-02 20:48:47 · 325 阅读 · 0 评论 -
13 Python中简单的常用算法及应用案例
一.累加与累乘就是在原有数据的基础上不断加或乘一个新的数。例如:求自然数e的近似值。(设定当第n项的值小于10^(-5)时停止计算)i = 1p = 1sum_e = 1t = 1 / pwhile t > 0.00001: p = p * i # 计算i的阶乘 t = 1 / p sum_e = sum_e + t i += 1 # 为计算下一项做准备print(sum_e) # 输出2.7182815255731922二.求最大数和最小原创 2020-09-27 20:41:06 · 593 阅读 · 0 评论 -
12 Python中的循环结构
程序在一般情况下按照顺序执行,但还有大量非顺序执行的。循环语句允许执行一个语句或多个语句构成的语句组多次。Python提供了for循环和while循环,没有do……while循环。一.while语句while语句用于循环执行程序,即在某种条件下,循环执行某段程序,以处理需要重复处理的相同任务。有时候,while循环语句的判断条件可以是一个常量,表示循环必然成立。在无限循环的时候,可以借助break语句结束循环。二.for语句for语句可以遍历任何序列的项目,如一个列表、元组或一个字符串。.原创 2020-09-27 20:15:57 · 216 阅读 · 0 评论 -
11 Python 中的选择结构
三种基本程序结构(顺序、分支(选择)、循环)中的选择结构,可以用if语句、if…else语句和if…elif…else语句实现。if语句 if 表达式: 语句1if…else语句:if 表达式: 语句1else: 语句2if…elif…else语句:if 表达式1: 语句1elif 表达式2: 语句2 ……elif 表达式n: 语句nelse: 语句n+1pass语句Python提高了一个关键字.原创 2020-09-27 13:02:13 · 102 阅读 · 0 评论 -
10 Python中的各种推导式
一.列表推导式使用[]生成list的基本格式为:variable = [Out_exp_res for out_exp in input_list if out_exp == 2](1) out_exp_res:列表生成元素表达式,可以是有返回值的函数(2)for out_exp in input_list:迭代input_list将out_exp传入out_exp_res表达式中(3)if out_exp == 2:根据条件过滤哪些值可以multiples = [i for i in ra原创 2020-09-26 22:51:00 · 51 阅读 · 0 评论 -
09 序列数据结构--集合
集合是一个无序不重复元素的序列。基本功能是进行成员关系测试和删除重复元素。四.集合(set)创建集合可以使用大括号{}或者set()函数创建集合。set1 = {1, 2}创建一个空集合必须用set(),因为{}是用来创建一个空字典。成员测试set1 = {1, 2}if 1 in set1: print('1在集合中')else: print('1不在集合中')# 输出1在集合中集合运算可以用“-”、“|”、“&”运算符进行集合的差集、并.原创 2020-09-26 22:38:00 · 130 阅读 · 0 评论 -
08 序列数据结构--字典
字典是一种可变容器模型,可以存储任意类型对象,如字符串、数字、元组等其他容器类型。也被称为关联数组或哈希表。字典由“键”和“对应值”成对组成(key==>value)字典的每个键/值对中用冒号分割,键/值对之间用逗号分割。整个字典包括在花括号中,基本语法为d={key1:value, key2:value2}键必须唯一,但值不必唯一。值可以取任何数据类型,但键不可改变。三.字典(dict)创建字典dict1 = {'name1': 18, 'name2': 28}不允许同一.原创 2020-09-26 22:32:01 · 104 阅读 · 0 评论 -
07 序列数据结构--元组
Python的元组与列表类似。不同的是元组的元素不能修改。元组使用小括号(),列表使用方括号[]。元组中的元素类型也可以不相同。二.元组创建元组(1)元组中的元素个数大于等于2tuple1 = (1, 2, 3, 4, 5)(2)创建空元组,写一个空括号即可tuple2 = ()(3)元组中只包含一个元素时,需要在这个元素后面添加逗号。tuple3 = (1,)访问元素元组与字符串类似,下标索引从0开始,可以通过下标索引访问元组中的值,也可以进行截取、组合等。tu.原创 2020-09-26 22:12:50 · 176 阅读 · 0 评论 -
06 序列数据结构--列表
序列中的每个元素都分配一个数字作为它的位置或索引,第一个索引是0,第二个索引是1,以此类推。序列都可以进行的操作包括索引、截取(切片)、加、乘、成员检查。Python内置了确定序列长度以及确定最大和最小的元素的方法。内置序列类型最常见的是列表、元组、字典和集合列表、元组和字符串是有顺序的数据元素的集合体。字典和集合属于无顺序的数据集合体,不能通过编号位置来访问数据。一.列表(list)列表中的数据项不需要具有相同的类型。列表的索引从0开始,可以进行截取(切片)、组合等。创建把逗号分.原创 2020-09-26 21:39:23 · 127 阅读 · 0 评论 -
05 运算符与表达式
程序中,表达式是用来计算求值的,表达式由运算符和运算数组成。运算符(操作符)就是表示进行某种运算的符号。运算数(操作数)包含常量、变量和函数。一.运算符Python支持的运算符类型包括:算术运算符、比较(关系)运算符、赋值运算符、逻辑运算符、位运算符、成员操作符、标识操作符。算术运算符:用来实现数学运算关系运算符:用于两个值进行比较,运算结果为True或False。逻辑运算符:赋值运算符:一般格式为:变量=表达式表示将右侧的表达式求出结果,赋给左边的变量。其中右.原创 2020-09-26 21:23:54 · 214 阅读 · 0 评论 -
04 常量和变量
一.变量在计算机中,变量不仅可以是数字,还可以是任意数据类型。变量在程序中就是用一个变量名表示,变量名必须是大小写英文、数字和_的组合,并且不可以用数字开头。x = 1 # x是一个整数b_1 = 'b_1' # b_1是一个字符串right = True # right是一个布尔值等号=不是数学中的等号,而是赋值语句,可以把任意数据类型赋值给变量,同一个变量也可以被反复赋值。而且可以是不同类型的值。x = 1x = 'abc'这种变量本身类型不固定的语言称为动态语言。原创 2020-09-26 21:11:46 · 65 阅读 · 0 评论 -
03 Python数据类型
基本数据类型:1.数值类型2.字符串3.布尔类型4.空值序列数据结构:Python内置序列类型最常见的是列表、元祖、字典和集合。1.数值类型Python数值类型用于存储数值。整形(int):通常被称为是整形或整数,是正整数或负整数,不带小数点。长整形(long):无限大小的整数。整数最后是一个大写或小写的L。在Python3中,只有一种整数类型int,没有Python2中的long。浮点型(float):浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.7..原创 2020-09-26 20:58:27 · 103 阅读 · 0 评论 -
02 Python代码规范
一.缩进python程序依靠代码块的缩紧来体现代码之间的逻辑关系。二.注释以#开始,表示本行#之后的内容为数字for i in range(10): # 循环输出数字0-9 print(i, end='')包含在一对三引号’’’…’’‘或’’ ‘’ ‘’…’’ ‘’ ''之间且不属于任何语句的内容将被解释器认为是注释(也叫文档字符串)。文档字符串:是包、模块、类或者函数里的第一个语句,可以通过对象的__doc__成员自动提取。def add(a, b): """ 文原创 2020-09-26 20:22:40 · 87 阅读 · 0 评论 -
01 Python基本输入/输出
一.Python基本输入输入是通过input()函数来实现的。input()的一般格式为:a = input('提示:')如果需要输入整数或小数,则需要使用int或float函数进行转换。a = int(input('提示:'))a = float(input('提示:'))二.Python基本输出在Python 2.x中,使用print语句进行输出。而在Python 3.x中使用print()函数进行输出。 for i in range(10,20): print(i,原创 2020-09-26 20:03:52 · 364 阅读 · 0 评论