python自学(学习记录)
老鸭胆
学习记录|坚持学习
展开
-
【A】第1天:python基础(1)
一、认识python1.1 python概述1.1.1 基本概念Python是一门解释型、面向对象的高级编程语言. Python是开源免费的、支持交互式、可跨平台移植的脚本语言.1.1.2 语言优势Python的设计混合了传统语言的软件工程的特点和脚本语言的易用性,具有如下特性:开源、易于维护 可移植 易于使用、简单优雅 广泛的标准库、功能强大 可扩展、可嵌入 .......Python也存在缺点:运行速度慢:Python是解释型语言,运行时翻译为机器码非常耗时,而C原创 2022-03-31 00:59:46 · 1068 阅读 · 1 评论 -
第三章16节-Pandas运用之缺失值处理
缺失值首先需要实际情况定义 可以采取直接删除法 有时候需要使用替换法或者插值法1、 统计缺失值的数量首先读取数据查看数据集中缺失值的情况 df.isnull()统计每一列缺失值的数量 np.sum(df.isnull()),其参数axis默认值为0,表示按行的方向进行统计,显示的结果就是每一列的缺失值的数量统计每一行缺失值的数量 np.sum(df.isnull(),axis = 1),表示按列的方向进行统计,显示结果就是每一行的缺失值的数量2、 统计每行缺失...原创 2021-11-01 23:00:07 · 1332 阅读 · 0 评论 -
第三章15节-Pandas运用之重复值处理
数据清洗现实生活中,数据并非完美的,需要进行清洗才能进行后面的数据分析 数据清洗包括处理缺失值、重复值和异常值等 数据清洗工作占据整个数据分析项目的60%以上的时间重复值重复值一般采取删除法来处理 但有些重复值不能删除,例如订单明细、数据或交易明细数据等1、查看重复值首先读取数据查看有哪几行是重复出现的 df.duplicated()如果不想整行整行的形式判断是否重复,而只是想取其中某几个变量进行判断 df.duplicated(subset = ['ap...原创 2021-10-30 11:29:36 · 385 阅读 · 0 评论 -
第三章14节-Pandas其他函数的运用(下)
1、将表格里的电话号码中间几位数设置为*先导入数据集,可以看到电话号码的数据是全部显示出来的希望把每一个电话号码的中间数值以加密的形式再展现出来 df['tel'] = df['tel'].apply(lambda x: x.replace(x[3:7],'****'))2、只显示表格中电话号码的前三位,并形成新的一列数据将数据的前三位展示出来就可以了 df['new_tel'] = df['tel'].str[0:3]3、将表格的电子邮箱的域名取出首先查看原数据中的电子.原创 2021-10-29 17:22:48 · 254 阅读 · 0 评论 -
第三章13节-Pandas其他函数的运用(上)
1、将表格里的时间数据转化为时间的格式可以看到原始的数据集中表格里的时间数据是字符串的类型将字符串类型的时间数据转化为时间类型 pd.to_datetime(sec_cars['Boarding_time'],format = '%Y年%m月',errors = 'coerce')...原创 2021-10-28 21:27:03 · 90 阅读 · 0 评论 -
第三章12节-Pandas运用之透视表和交叉表
一、什么是透视表?透视表是一种可以对数据动态排布并且分类汇总的表格格式。二、透视表相关函数pivot_table(data,index,columns,value,aggfunc,fill_value,margins,margins_name=)index:行分组键 columns:列分组键 values:分组的字段,只能为数值型变量 aggfunc:聚合函数 margins:是否需要总计三、透视表具体代码实现假设我们的数据是下面这张表希望得到一张根据年...原创 2021-10-28 19:55:37 · 1725 阅读 · 0 评论 -
第三章11节-Pandas运用之分组聚合(下)
总结agg:agg方法灵活,能够对分组对象进行相同的聚合,还可以选择不同的聚合方法 apply:apply可以进行聚合计算,还可以按行计算 transfrom:返回与数据同样长度的行,无法进行聚合 建议:建议今后在更多使用apply或者agg...原创 2021-10-27 16:39:17 · 79 阅读 · 0 评论 -
第三章10节-Pandas运用之分组聚合(上)
分组聚合——掌握以下知识点描述性统计方法,例如min、max、median、mean和quantile等 分组运算groupby方法 聚合方法agg、apply和transfrom等描述性统计方法(两种表达)原创 2021-10-27 16:15:52 · 100 阅读 · 0 评论 -
第三章9节-Pandas运用之数据排序
(.isnull())对数据集上每一个元素进行判断是否有缺失,等于False表示没有确实,等于True表示有缺失。统计数据的每一列的缺失值有多少,沿行的方向根据每一列进行统计按年份的数据进行升序排序,索引没有发生改变,原数据也没有改变(加参数inplace改变元数据集)下面这种情况是先按NA_Sales的数据进行排序,在根据NA_Sales的每一段中根据EU_Sales的数据进行排序...原创 2021-10-27 15:28:36 · 94 阅读 · 0 评论 -
第三章3节-Pandas运用之数据获取和保存
pandas内置了10多种数据源读取函数,常见的就是CSV和EXCEL pandas读取出来的数据直接是数据框格式,方便后续的数据处理和分析 可以快速的将数据保存为CSV或者EXCEL格式 参数较多,注意编码,常用编码为utf-8,gbk,gbk2312等...原创 2021-10-24 10:31:16 · 341 阅读 · 0 评论 -
第三章4节-Pandas运用之数据筛选
方法基础索引方式,就是直接引用 ioc[行索引名称或者条件,列索引名称或者标签] iloc[行索引位置,列索引位置] 增删改查和条件查询 熟练掌握drop(labels,axis,inplace=True)的用法原创 2021-10-24 21:09:31 · 321 阅读 · 0 评论 -
第三章5节-Pandas运用之条件查询和增删改查
条件查询【有多少个条件就有多少个中括号】增删改查首先区分一下axis = 0 和 axis = 1:增加两列数据删除某列的数据插入某列某个位置的数据删除某行的数据...原创 2021-10-24 21:54:41 · 202 阅读 · 0 评论 -
第三章6节-Pandas运用之数据库数据获取和保存
如何读取和保存使用sqlalchemy建立连接 需要知道数据库的相关参数,如数据库IP地址、用户名和密码等 通过pandas中read_sql函数读入 通过dataframe的to_sql方法保存首先查看自己本地的数据库信息【我个人是在mysql workbench软件上查看本地数据库的信息(课程上用到的)】【下面这个图片是旧版本的mysql workbeach,后面使用的是最新版本的,因为发现5.x版本的太旧了,没有导入功能】【还可以在mysql的命令窗口中,输入】...原创 2021-10-26 19:12:19 · 246 阅读 · 0 评论 -
第三章7节-Pandas运用之数据整合
合并数据整合又称数据合并,将不同的数据合并在一起,这样可以将不同的信息集成在一张表上,有利于之后的分析。合并方法常见的合并方法有堆叠和按主键进行合并,堆叠又分为横向堆叠和纵向堆叠,按主键合并类似sql里面的关联操作。讲解横向堆叠将两张表或多张表在X轴方向,即横向拼接在一起 纵向堆叠将两张表或多张表在Y轴方向,即纵向拼接在一起 注意使用concat时,axis = 1用于横向,0代表纵向 注意join取inner或者outer时,分别代表交集和并集...原创 2021-10-26 22:04:29 · 194 阅读 · 0 评论 -
第三章8节-Pandas运用之层次化索引
层次化索引在一个轴上拥有两个或两个以上的索引使用loc语句进行访问 loc里面接受tuple,如loc[(a,b),:]1、多层次行索引获取其中某一个元素获取某一行数据获取第一层索引的某行某列数据...原创 2021-10-27 10:25:46 · 263 阅读 · 0 评论 -
第三章2节-Pandas运用之常用数据dataframe
DataFrame类通过pandas.DataFrame来创建DataFrame数据结构 pandas.DataFrame(data,index,dtype,columns) 上述参数中,data可以为列表,array或dict 上述参数中,index表示行索引,columns表示列名或者列标签DataFrame常用属性values:返回Series所有元素 index:返回索引 dtypes:返回数据类型 shape:返回series数据行形状 nidm:返回对象的维度 siz.原创 2021-10-23 20:16:15 · 222 阅读 · 0 评论 -
第三章1节-Pandas运用之常用数据结构
常用数据结构(1)Series由一组数据以及一组与之对应的数据标签(即索引)组成 可以通过pandas.Series来创建Series,每个Series2可以看成是DataFrame的一个列(2)DataFrameDataFrame是pandas基本数据结构,类似于数据库中表或者EXCEL中的表格数据格式 DataFrame既有行索引,也有列索引,可以将其看成是多个Series构成的Series类通过pandas.Series来创建Series数据结构 pandas.Series.原创 2021-10-22 16:12:19 · 129 阅读 · 0 评论 -
第二章11节-Numpy运用之实现线性代数
线性代数矩阵乘法相关知识 矩阵转置 多元一次线性方程组点积原创 2021-10-21 12:33:57 · 72 阅读 · 0 评论 -
第二章10节-Numpy运用之统计相关函数
Numpy中有许多用于统计分析的函数 掌握常用的统计相关函数 针对二维数组,需要注意轴的概念,axis参数中的0和1分别代表纵轴和横轴获取数据计算总和计算均值累积求和累积求积统计最大值计算百分位数求极差统计满足添加的个数...原创 2021-10-21 11:54:46 · 58 阅读 · 0 评论 -
第二章9节-Numpy运用之随机数生成
Numpy随机数的生成通过random函数 生成的都是伪随机数rondom()seed()rand()randint()unifrom()numpy.set_printoptions(precision)normal()randn()shuffle()permutation()random模块中的相关函数...原创 2021-10-21 11:15:13 · 133 阅读 · 0 评论 -
第二章8节-Numpy运用之字符串处理
char模块Numpy提供char模块处理字符串,运用向量化运算方式 char模块提供常用的字符串操作函数,如连接、切片、删除、替换等原创 2021-10-20 22:25:55 · 93 阅读 · 0 评论 -
第二章7节-Numpy运用之文件读写
文件读取可以使用genfromtxt读取txt或者csv文件 可以使用loadtxt读取txt或者csv文件 两个函数功能类似。genfromtxt针对的更多是结构化数据文件存储一般存储为txt或者csv格式 savetxt(fname, data, delimiter, fmt) 一般常用以上的四个参数,分别为保存的路径,数据,分隔符和格式...原创 2021-10-20 22:13:09 · 106 阅读 · 0 评论 -
第二章6节-Numpy运用之搜索与排序
重要函数排序函数:sort函数和argsort函数,注意argsort返回的是从小到大的索引值 搜索函数:agrmax和argmin函数 条件赋值:np.where可以自定义返回满足条件的情况,np.extract返回满足条件的元素值1、sort()方法和sorted()方法——排序2、.argsort()方法——返回排序后元素在原数组的位置比如,根据这个数组,可以知道原数组中的最大数字在第13位,原数组中最小的位置在第0位3、.argmax()方法——返回数组相应维度ax..原创 2021-10-20 21:34:28 · 156 阅读 · 0 评论 -
第二章5节-Numpy的运用之数组的ufunc广播机制
2、数组的ufunc广播机制ufunc通用函数,能够对array中所有元素进行操作的函数 Broadcating指对不同形状的array之间执行算术运算的方式 不同形状的数组运算时,Numpy则会执行广播机制 numpy能够运用向量化运算处理整个数组,所以速度比较快3、python广播运算机制一维数组,广播运算时,按照行补齐方式,当行数不一致时,首先补齐行数,然后进行运算二维数组,广播运算时,当列数不一致时,首先补齐列数,然后进行运算,当行数不一致时,首先补齐行数,然后进行运算...原创 2021-10-19 16:54:45 · 226 阅读 · 0 评论 -
第二章4节-Numpy运用之数组形状改变
1、数组形状改变Numpy中提供了reshape等方法改变数组的形状,但不改变数据的值 可以对数组转换为一维,即展平 可以将多个数组,组合成一个更大的数组 三维数组的创建和索引(1).reshape()方法 1)改变形状,原数组不发生变化 arr.reshape(a,b)的参数中,只要其中一个参数是确定的,另一个参数就会自动计算出 2) 当改变形状的时候修改数组的值,原数组的形状没有变化,相对应的值会改变(2).resize()方法...原创 2021-10-19 11:23:10 · 1556 阅读 · 0 评论 -
第二章3节-索引与切片(下)
2、花式索引假如我们不想按顺序输出数组的元素,比如先输出第3行再输出第1行,按照上节课的方式是行不通的,接下来使用嵌套的方式进行花式索引。以防混肴,这里的序号从0开始数起。...原创 2021-10-19 09:24:44 · 60 阅读 · 0 评论 -
第二章2节-索引和切片(上)
一、array的索引创建两个数组一维数组二维数组1、普通索引取某个元素取某行或某列或某行的某列或某列的某行倒序输出修改元素的值注意,当使用赋值符号将数组赋值给其他变量时,在修改时会改变原数组的值。为什么原数组也随着被修改了?(1)arr_change = arr 相当于把 arr 的视图赋值给 arr_change,如果视图上发生了改变,则原数组也会改变。(2)使用.copy()方法可以避免这个问题,arr_cha...原创 2021-10-18 20:31:30 · 84 阅读 · 0 评论 -
第二章1节-Numpy运用之数组的创建和基本属性
一、数组创建使用array函数创建,语法格式为array(列表或元组) 可以使用其他函数例如arange、linspace、zero等创建 掌握相关函数的用法 创建等差数列的过程中,数组的等距是由元素的(最大值-最小值)/(间隔),第一个数组的等距则为(10-1)/(11-1),因为11个数字中有10个间隔,第二个数组的等距(10-1)/10,因为参数endpoint = False 表示输出不含终点数,意思是输出1到10个数为10(不包含元素10的等差数列)的等差数列,但是计算...原创 2021-10-18 16:48:15 · 90 阅读 · 0 评论