网课三

news/2025/10/15 1:51:28/文章来源:https://www.cnblogs.com/Anne06/p/19133459

网课三

4-Melplotlib
导入相关包:import matplotlib.pyplot as plt
·线图:plot():变化趋势
·散点图:scatter():数据的相关性
·条形图:bar():数据大小和变化趋势
·饼图:pie():部分在总体的占百分比
·直方图和密度图:hist():数据的分布趋势
·多图合并显示:subplot()和subplots()

·linestyle:指定折线的类型,可以是实线、虚线、点虚线、点点线等,默认文实线;
·linewidth:指定折线的宽度
·marker:可以为折线图添加点,该参数是设置点的形状;
·markersize:设置点的大小;
·markeredgecolor:设置点的边框色;
·markerfacecolor:设置点的填充色:
·label:为折线图添加标签,类似于图例的作用;

5-数据探索
1.数据基本情况
·基本信息:data.head(),data.info(),data.decribe()
·基本分布:data['列名'].hist(),data.value counts()

2.相关性分析
查看各个列之间的关联:correlation_matrix= data.corr()

3.检测异常值、缺失值、重复值
缺失值检测:data.isnull().sum()
重复值检测:data.duplicated().sum()
异常值检测:plt.boxplot(data['列名'])
image
箱线图

6-数据处理
·去除重复值,并覆盖原数据集:
data.drop_duplicates(inplace=True)
·去除缺失值:
删除法:data.dropna()
填充法:data.fillna()
·去除异常值:
符合正态分布时-3o原则、箱线图
·数据类型的转换:
.astype()、pd.to_datetime()
·数据标准化:
极值标准化、标准差标准化、小数定标标准化

Pandas基础

  1. Pandas是什么
  • Pandas是基于NumPy数组构建的,也是Python语言的第三方库,主要用于数据分析,专门为处理表格和混杂数据设计的,相当于Python的Excel,而Numpy更适合处理统一的数组数据。
  1. 常用数据对象
    pandas提供了三种常用数据对象,分别是:
  • eries用于保存一维类的数据
  • DataFrame用于保存二维类的数据
  • panel用于保存三维类或者可变维
    度的数据
  1. 1 创建DataFrame对象
  • series 对象用于存储一维数据
  • DataFrame专门用于存储二维数据,每个数据库中的表都是一个二维数据
  • 创建Dataframe对象
    pd.DataFrame(data=None, index=None,columns=None, dtype=None)
    data: 可以是嵌套列表,二维数组,字典或者DataFrame对象
    index: 可以是索引对象或者类数组对象跟Series一样,index=None时,则会按照默认的0,1,2...顺序建立索引
    columns: 可以是索引对象或者类数组对象,其含义是列索引
  1. 2 DataFrame对象常用基本属性
    1.查看数据维度
    dataframe.ndim
    dataframe.shape
    2.查看数据的行名称
    dataframe.index
    3.查看数据的列名称
    dataframe.columns
    4.查看数据的前几行:(n为设置查看几行,默认为5行)
    dataframe.head(n)
    5.查看数据的后几行:(n为设置查看几行,默认为5行)
    dataframe.tail(n)
    6.数据转置
    dataframe.T
    7.查看数据是否存在空值(可以连用,dataframe.isnull().sum()统计列中含有缺失值的个数,
    dataframe.isnull().any().sum()统计含有缺失值的列数)
    dataframe.isnull()
    8.按照行名称或列名称进行排序:(axis参数:指定排序的数轴;ascending:默认按照升序排序;当设置为False时,按照降序排序)
    dataframe.sort_index(axis=1, ascending=False)
    9.按照数据值排序:(axis参数指定排序的数轴;by参数指定按照哪一列或行进行排序;ascending参数指定
    是升序还是降序)
    dataframe.sort_values(by='列名, ascending=False, axis=0)
    10.对数据直接进行统计分析
    dataframe.describe()
    11.打印DataFrame对象的信息
    dataframe.info()
    12.查看数据类型
    dataframe.dtypes
    13.根据数据类型选取特征
    dataframe.select_dtypes(include=None, exclude=None)

  2. 数据的读取与保存
    3.1. 读取excel文件
    pd.read_excel('./data/xxx.xlsx')#括号内为excel文件路径
    3.2 读取csv文件
    pd.read_csv('./xxx/data1.csv')
    3.3将DataFrame保存成csv文件
    df.to_csv('xxx.csv')

Numpy基础

  1. Numpy是什么
    是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算。
    1. Ndarray 对象
      NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。
  • ndarray 对象是用于存放同类型元素的多维数组。

  • ndarray 中的每个元素在内存中都有相同存储大小的区域。

  • ndarray 内部由以下内容组成:

    • 一个指向数据(内存或内存映射文件中的一块数据)的指针。
      数据类型或 dtype,描述在数组中的固定大小值的格子。
    • 一个表示数组形状(shape)的元组,表示各维度大小的元组。
    • 一个跨度元组(stride),其中的整数指的是为了前进到当前维度下一个元素需要"跨过"的字节数。
  1. NumPy 数据类型
    numpy 支持的数据类型比 Python 内置的类型要多很多,基本上可以和 C 语言的数据类型对应上,其中部分类型对应为 Python 内置的类型。

  2. NumPy数组属性

  • ndim 数组维度
  • shape 数组每个维度大小
  • size 数组的总大小
  • dtype 数据类型
  • itemsize 每个数组元素字节大小
  • nbytes 数组总字节大小
  • flags ndarray对象的内存信息
  • real ndarray元素的实部(复数的实部)
  • imag ndarray元素的虚部(复数的虚部)
  1. 数据类型转换
    用astype方法进行转化:
    In [ ]:
    a = np.array([1,2,3],dtype=float)
    b = a.astype(int)

  2. 便捷创建一个Numpy数组
    ndarray 数组除了可以使用 ndarray 来创建外,也可以通过以下几种方式来创建

  • 6.1 np.zeros
    *创建指定大小的数组,数组元素以 0 来填充:
  • 6.2 np.ones
    创建指定形状的数组,数组元素以 1 来填充:
  • 6.3 np.eye
    创建指定形状的单位矩阵。
  • 6.4 np.random 创建随机数组
    除了创建元素全为 0 和 1 的数组之外,NumPy 也支持创建元素为随机值的数组。
    • 6.4.1 np.random.rand
    • 创建指定维度大小的,样本位于[0, 1)的随机样本。
    • 6.4.2 np.random.randint
    • 创建指定维度大小的,样本为随机整数样本的数组。
    • 6.4.3 np.random.randn
    • 创建指定维度大小的,样本为正态分布随机值的数组
  • 6.5从数值范围创建数组
    NumPy 也可以从某个范围中,创建所需的数组。
    • 6.5.1 np.arange
      根据 start 与 stop 指定的范围以及 step 设定的步长,生成一个 ndarray。注意,停止的 stop 值不在生成的数组的范围之内。
    • 6.5.2 np.linspace
      np.linspace 函数用于创建一个一维数组,数组是一个等差数列构成的。
      生成开始值为10,结束值为20,大小为51的等差数组
      np.linspace(start=10, stop=20, num=51)
    • 6.5.3 np.logspace
      np.logspace 函数用于创建一个对数等比数列
  1. NumPy 统计函数
    NumPy 数组中提供了一些简单的统计函数,可以帮助我们计算数组的最大、最小值、平均值、中位数等。
  • 7.1最大、最小值
    可以使用.max()/.min()或np.amax()/np.amin(),计算数组的最大最小值
  • 7.2平均值
    可以使用np.mean()/np.average()或.mean()方法获取数组中所有元素的均值
  • 7.3中位数
    使用np.median()计算数组的中位数
  • 7.4标准差
    使用np.std计算标准差

8.Nump数据-索引&切片&排序
ndarray对象的内容可以通过索引或切片来访问和修改
通过sort函数进行排序

  • 8.1索引
    ndarray 数组可以基于 0 - n 的下标进行索引
  • 8.2 切片
    切片对象通过内置的 slice 函数,并设置 start, stop 及 step 参数进行,从原数组中切割出一个新数组。
  • 冒号 : 的解释:如果只放置一个参数,如 [2],将返回与该索引相对应的单个元素。如果为 [2:],表示从该索引开始以后的所有项都将被提取。如果使用了两个参数,如 [2:7],那么则提取两个索引(不包括停止索引)之间的
    项。
    多维数组同样适用上述索引提取方法:
    In [ ]:
    import numpy as np
    a = np.array([[1,2,3],[3,4,5],[4,5,6]])
    print(a)
    从某个索引处开始切割
    print('从数组索引 a[1:] 处开始切割')
    print(a[1:])
    切片还可以包括省略号 …,来使选择元组的长度与数组的维度相同。 如果在行位置使用省略号,它将返回包含行中元素的 ndarray。
    In [ ]:
    print (a[...,1]) #
    第2列元素
    print (a[1,...]) #
    第2行元素
    print (a[...,1:]) #
    第2列及剩下的所有元素
  • 8.3 排序
    通过np.sort()可以对数组对象进行排序
    In [ ]:
    import numpy as np
    s = np.random.rand(1,3)
    print(s)
    print(np.sort(s,axis = 1))

axis=1表示按行对元素排序,0表示按列对元素排序

  1. 数组的相关运算
    数组的运算可以分为:
    数组内的运算
    数据与数组之间的运算
    0.1 数组内的运算
    Numpy提供了丰富的函数进行数组内的运算——
  • 求和
  • 求乘积
  • 求最值
  • 求均值
  • 求方差和标准差
  • 幂运算
  • 对数运算
    In [ ]:
    import numpy as np
    a = np.random.randint(low=1,high=100,size=(10)) #创建一个随机从1~100取数,10个元素的数组
    In [ ]:
    print(np.sum(a)) #求和
    print(np.prod(a)) #求乘积
    print(np.max(a)) #最大值
    print(np.min(a)) #最小值
    print(np.mean(a)) #均值
    print(np.var(a)) #方差
    print(np.std(a)) #标准差
    print(np.sqrt(a)) #开方(每个元素)
    print(np.square(a)) #平方(每个元素)
    print(np.exp(a)) #以e为底的指数次方
    print(np.log(a)) #自然对数
    print(np.log2(a)) #底数为2对数
    print(np.log10(a)) #底数为10对数
  • 9.2 数组间的运算
    数组间的运算依然是包括了加(+)、减( - )、乘( x )除( / )等,这些运算可以适合于具有相同的行数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/937198.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决Pregenerating ConTeXt MarkIV format. This may take some time...卡死问题

1、情况 使用apt安装某个软件包在解压时导致卡死,一开始以为多等一会就好了,结果等了好久还是不行,查看资源占用发现cpu占用率很低、磁盘IO也没有、网络也没动静,感觉就是卡死了2、解决方法 上网一查,发现好多人也…

日期相关函数、方法

2025.10.15 1.select * from BORROW where datediff(dd,RDATE,getdate())=0DATEDIFF(datepart, startdate, enddate) 函数返回两个日期之间的时间。 若只需要比较日期,要用datediff检查日期(dd)差,为0 则为当天。…

“[GESP202509 五级] 有趣的数字和”分块做法

这个题看到第一眼不是暴力数位 dp 创过去吗? 换以前,我虽然忘了数位 dp ,但是可能接着这个机会重新学一遍数位 dp 。 但是最近工作任务和学校任务都很重,根本不想重新学一遍数位 DP 。 反而让我发现了一个更通用更…

精确率

2025.10.15 1.精确率是指正确预测的正样本数与所有预测为正样本的比率,反映了模型预测为正样本的准确性

FBAM 论文浅析

这篇论文对当前以Transformer为主流的大模型基础架构提出了深刻的反思与挑战。它论证了纯粹并行化的模型在理论上存在表达能力的上限,并提出了一种融合并行与递归优势的新架构——帧动作模型(Frame-based Action Mod…

2025年上海律师服务最新权威推荐榜:经侦律师,民事纠纷律师,刑事律师,经济律师,婚姻律师,法务律师,负债律师事务所专业实力与口碑深度解析

2025年上海律师服务最新权威推荐榜:经侦律师,民事纠纷律师,刑事律师,经济律师,婚姻律师,法务律师,负债律师事务所专业实力与口碑深度解析在当今复杂多变的法律环境中,上海作为中国的经济与金融中心,对专业法律…

2025年冲压件厂家最新权威推荐榜:新能源/光伏/精密/异形/五金/铝/汽配/不锈钢/家具冲压件优质供应商精选

2025年冲压件厂家最新权威推荐榜:新能源/光伏/精密/异形/五金/铝/汽配/不锈钢/家具冲压件优质供应商精选行业背景与发展趋势冲压加工作为现代制造业的基础工艺,在新能源、光伏、汽车、家具等领域的应用日益广泛。随着…

前端知识图谱

一、JavaScript基础 变量和类型 ● 1.JavaScript规定了几种语言类型 ● 2.JavaScript对象的底层数据结构是什么 ● 3.Symbol类型在实际开发中的应用、可手动实现一个简单的Symbol ● 4.JavaScript中的变量在内存中的具…

软考二

软考二Posted on 2025-10-15 00:41 心默默言 阅读(0) 评论(0) 收藏 举报1. 基本概念与算法1.1 数据元素与数据项1.2 数据结构1.3 算法

UVa(紫书)做题记录

第八章:高效算法设计 UVA11093 Just Finish it up 最直接的办法:选取正收益的点开始,O(n) judge。但有个必须注意到的性质,即如果一个起点不合法,那么刚才扫过的所有点不不合法。于是时间复杂度就降下来了。明明就…

MyBatis 延迟加载使用及原理 - Higurashi

一、延迟加载是什么? 延迟加载(Lazy Loading)又称“惰性加载”,指的是:当查询一个对象时,不立即加载它的关联对象(如一对多、多对一关系),而是在第一次真正使用该关联对象时才去执行 SQL 查询加载它。举个例子…

ADC-过零检测详解

转载自:https://mbb.eet-china.com/tech/t1/177081.html1、反电动势波形的起源 下图展示了内转子磁极的磁感应强度B的分布情况。定义磁感应强度方向向外为正 在0的时候,处于正反方向交界处,磁感应强度为零; 然后开…

今日小雨

喜欢泥土的香气 傍晚的微风 夹杂着清新与沉闷之感 不必要的话不说 有些话没必要说 所做的目的懒得过问 回避过问 大觉一场

内网穿透进阶:让 frpc 只代理「真正在线」的端口

一条脚本搞定「端口探活 + 配置热更新 + 服务保活」,彻底告别手动重启与爆炸日志。一、痛点:静态配置的尴尬本地服务没启动,frpc 仍疯狂重试,日志秒级刷屏;新增/下线服务要手动改 TOML → 重启,极易遗忘;服务异…

规则逻辑与人文逻辑的统一:AI元人文构想的演进之路

规则逻辑与人文逻辑的统一:AI元人文构想的演进之路 在人工智能发展的关键转折点,我们面临着深刻的认知跃迁:规则逻辑与人文逻辑并非对立的两极,而是智能进化道路上相互依存、彼此成就的必然维度。AI元人文构想以其…

2023 ICPC Jinan

2023 ICPC Jinan ICPC Jinan G 考虑找矛盾。首先对于同一行,翻转和不翻是一个矛盾,对于相异的行,若一行的翻转或不反转会使同一列产生多余的 1,则又是一个矛盾。将每一行拆成两个点,一个点代表不翻转该行,一个点…

二叉树中和为目标值的路径

LCR 153. 二叉树中和为目标值的路径 LCR 153. 二叉树中和为目标值的路径参考题解前言 该题考察二叉树中的回溯,使用先序遍历以及路径记录 先序遍历:根左右 路径记录:通过一个“中间人”(path)来记录当前的路径和,…

动态库的调用方式

在 Linux 中,动态库(.so文件)的调用方式主要有两种:编译时链接(隐式调用)和运行时加载(显式调用)。 一、编译时链接(隐式调用) 这种方式在编译阶段就指定动态库,程序启动时会自动加载依赖的动态库,适用于已…

动态库的调用方式

在 Linux 中,动态库(.so文件)的调用方式主要有两种:编译时链接(隐式调用)和运行时加载(显式调用)。 一、编译时链接(隐式调用) 这种方式在编译阶段就指定动态库,程序启动时会自动加载依赖的动态库,适用于已…

云原生技术概览

云原生技术概览书籍:https://jimmysong.io/kubernetes-handbook/从云计算到微服务再到云原生计算 下面将从云计算的发展历程引入云原生计算 云计算介绍 云计算演进历程云计算就是一种配置资源的方式,根据资源配置方式…