Python——Numpy基础分析(1)

一、数据集

1.数据说明

  • fixed acidity 固定酸度

  • volatile acidity 挥发性酸度

  • pH 酸碱值

  • alcohol 酒精度数

  • quality 品质得分

2.部分数据展示

图 1-1部分数据展示
  • 若需要全部数据,请私信作者,谢谢

二、导入数据——使用genfromtxt函数来读取文件

(1)genfromtxt函数详解

  • 官网介绍:numpy.genfromtxt — NumPy v1.26 Manual
  • genfromtxt(fnamedtype=<class 'float'>comments='#'delimiter=Noneskip_header=0skip_footer=0converters=Nonemissing_values=Nonefilling_values=Noneusecols=Nonenames=None,...)

(1)fname:要读取的文件、文件名、列表或生成器;

(2)dtype【可选】:结果数组的数据类型。如果为“无”,则数据类型将分别由每列的内容确定;

(3)comments【可选】:str(字符串),用于指示注释开始的字符。注释后一行中出现的所有字符都将被丢弃;

(4)delimiter【可选】:str、int(整型) or sequence(序列),用于分隔值的字符串。默认情况下,任何连续的空格都充当分隔符。还可以提供整数或整数序列作为每个字段的宽度。

(5)skip_header【可选】:int,在文件开头要跳过的行数;

(6)skip_footer【可选】:int,文件末尾要跳过的行数;

(7)converters【可选】:variable(变量),将列数据转换为值的函数集。转换器还可用于为缺失数据提供默认值:converters = {3: lambda s: float(s or 0)}

(8)missing_values【可选】:variable,与缺失数据相对应的字符串集;

(9) filling_values【可选】:数据丢失时用作默认值的一组值;

(10)usecols【可选】:sequence,要读取哪些列,0 为第一列。例如, 将提取第 2、5 和 6 列。usecols = (1, 4, 5)

(11)names【可选】:True、str、sequence,默认值为None,如果names为True,则从第一个skip_header行之后的第一行读取字段名称。该行前面可以选择添加注释分隔符。如果名称是逗号分隔名称的序列或单字符串,则这些名称将用于定义结构化数据类型中的字段名称。如果名称为 None,则将使用 dtype 字段的名称(如果有)。

(2)读取文件数据

方法一:

 # 1.导入numpy库,命名为numoy
import numpy as np   

# 2.使用genformtxt函数来读取文件,通过观察发现数据以分号(;)作为分割
wines1 = np.genfromtxt(r"D:/数据分析与可视化/实验/实验一——葡萄酒品质数据基础分析/winequality-red.csv",delimiter=";")  

# 3.查看数据
wines1

        得到的结果如下图2-1所示:

图2-1
  • 问题:从上图的结果会发现,第一行的数据为nan,这是缺失值的意思,造成这种原因是因为数据第一行为各变量名,是字符串格式,而genfromtxt默认导入的数据格式为浮点型,故会被读成缺失值。
  • 解决方法:为了防止缺失值的产生,可以调整参数skip_header为1,在读取时跳过第一行。
#  4.skip_header 用于设置数据加载时跳过文件头部的字符行数
wines1 = np.genfromtxt(r"D:/数据分析与可视化/实验/实验一——葡萄酒品质数据基础分析/winequality-red.csv",delimiter=";",skip_header=1)  

# 5.查看数据
wines1

        得到的结果如下图2-2所示:

图 2-2

方法二: 

  • 问题: 从上图2-1、2-2可发现,各变量名的数据均不显示
  • 解决办法:设定names为True来解决
# 1.names关键字设置为True
wines2 = np.genfromtxt(r"D:/数据分析与可视化/实验/实验一——葡萄酒品质数据基础分析/winequality-red.csv",delimiter=";",names = True)

# 2.查看数据
wines2

        得到的结果如下图2-3所示:

图 2-3
  •  注意:names参数的默认值为None。若为关键字赋予任何其他值,新名称将覆盖已使用dtype参数定义的字段名称
# 3.赋予参数names其他值
names = ['a','b','c','d','e','f','g','h','i','l','j','k']

# 4.再次导入数据,查看变化
wines2 = np.genfromtxt(r"D:/数据分析与可视化/实验/实验一——葡萄酒品质数据基础分析/winequality-red.csv",delimiter=";",names = names)

# 5.查看数据
wines2

        得到的结果如下图2-4所示: 

图 2-4
  • 从上图可见, 不仅修改了首行读取的列名,还默认了各列的数据类型都是浮点型'f8'
  • 但两种方法读入的数据相同,但是在维度上却不相同,使用shape方法查看两种方法读入的数据的维度
# 第一种方法读入的数据的维度
print("第一份数据的维度",wines1.shape)

# 第二种方法读入的数据的维度
print("第二份数据的维度",wines2.shape)

 得到的结果如下图2-5所示:

图 2-5
  • 从上图可见: 通过第一种方法读入的数据是一个二维数组,而通过第二种方法读入的数据是一个一维数组
  • 使用dtype方法查看两份数据的数据类型
# 通过dtype查看各这两个数组的数据类型
wines1.dtype 
图 2-6
wines2.dtype  
图 2-7

三、数据选取 

1.使用索引选取数据

索引-5-4-3-2-1
01234
0-2abcde
1-1fghij
  • 若想获取字母c,那么使用的列索引为2或者是-3,行索引为0或者是-2
# 1. 导入numpy库
import numpy as np

# 2. 使用numpy创建二维数组
data = np.array([
    ['a','b','c','d','e'],
    ['f','g','h','i','j'],
])

# 3.列索引 2 or -3 ,行索引 0 or -2
print("列索引为2:",data[0,2],data[-2,2])

print("列索引为-3:",data[0,-3],data[-2,-3])

        得到的结果如下图3-1所示:

图 3-1
  • 对于红酒品质的数据,若想获取第三种红葡萄酒的品质得分,即第三行第十二列的数据,对应的行索引为2,列索引为11
# 1.通过切片的方式来得到第三种红葡萄酒的品质得分
wines1[2,11]  

# 2.得到的结果
5.0

2.使用切片选取数据

  • 如果我们想要从第四列中选择前三项,我们可以使用冒号(:)来完成。

  • 冒号表示我们要从起始索引中选择所有元素,但不包括结束索引。

  • 前括后不括——>(start(开始):end(结束):step(步长))

(1)通过切片的方式来得到葡萄酒的第四列中的前三项

# 1.通过切片的方式来得到葡萄酒的第四列中的前三项
wines1[0:3,3]

# 2.得到的结果
array([1.9, 2.6, 2.3])

# 3.若从第一位开始取数据,则0可以省略
wines1[:3,3]

# 4.得到的结果
array([1.9, 2.6, 2.3])

(2)通过切片的方式来得到葡萄酒的第四列中的全部数据

  • 当不指定开始或结束索引,只用冒号制定时,将选择所有数据。
# 1. 通过切片的方式来得到葡萄酒的第四列中的全部数据
wines1[:,3] 

# 2.得到的结果为
array([1.9, 2.6, 2.3, ..., 2.3, 2. , 3.6])

# 3.同理,提取第一种红葡萄酒的所有数据,即第一行整行数据
wines1[0,:]

# 4.得到的结果为
array([ 7.4   ,  0.7   ,  0.    ,  1.9   ,  0.076 , 11.    , 34.    ,
        0.9978,  3.51  ,  0.56  ,  9.4   ,  5.    ])

注意:本文中数据以及内容若有侵权,请第一时间联系删除。

           本文是作者个人学习后的总结,未经作者授权,禁止转载,谢谢配合。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Tansformer原理解读

什么是注意力机制 生物学中的注意力机制是指人类或动物能够选择性地将感知和认知资源集中到某些信息或任务上的能力。这种能力允许我们在众多信息的背景中过滤出重要的信息&#xff0c;并将这些信息传递给相应的神经元进行处理。 本质&#xff1a;能从中抓住重点&#xff0c;…

Fastgpt知识库接入oneapi和自定义大模型

本期教程教大家训练自己的知识库回答chatgpt回答不了的问题 FastGPT 是一个知识库问答系统,可以通过调用大模型和知识库回答特定的问题 可以做成专属 AI 客服集成到现有的APP或者网站内当作智能客服支持网络爬虫学习互联网上的很多知识可以通过flow可视化进行工作流程编排 本期…

Dask简介

目录 一、概述 二、编程模型 2.1 High-Level Collection 2.2 Low level Interface 三、调度框架 3.1 任务图 3.2 调度 3.3 优化 3.4 动态任务图 一、概述 Dask是一个灵活的Python并行计算库。 Dask由两部分组成&#xff1a; 为计算优化的动态任务调度&#xff1a;和A…

汇凯金业:黄金价格波动的原因是什么

黄金价格波动的原因通常是多方面的&#xff0c;包括但不限于&#xff1a; 经济数据&#xff1a;比如就业数据、通胀率、GDP增长率等对经济状况的指标不及预期&#xff0c;可能会增加黄金作为避险资产的吸引力。 货币政策&#xff1a;央行的利率决策、货币供应量的变化、量化宽…

【每日力扣】543. 二叉树的直径与101. 对称二叉树

&#x1f525; 个人主页: 黑洞晓威 &#x1f600;你不必等到非常厉害&#xff0c;才敢开始&#xff0c;你需要开始&#xff0c;才会变的非常厉害 543. 二叉树的直径 给你一棵二叉树的根节点&#xff0c;返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的…

vue项目基于WebRTC实现一对一音视频通话

效果 前端代码 <template><div class"flex items-center flex-col text-center p-12 h-screen"><div class"relative h-full mb-4 fBox"><video id"localVideo"></video><video id"remoteVideo">…

深圳车间厂房降温用什么设备好?

环保水空调&#xff08;也被称为水冷空调或蒸发式降温换气机组&#xff09;的特点主要体现在以下几个方面&#xff1a; 节能环保&#xff1a;环保水空调使用水作为冷媒介&#xff0c;相比传统空调的制冷方式&#xff0c;它能在制冷过程中节约更多的能源&#xff0c;减少碳排放…

羊大师分析,为什么羊奶是孩子的理想饮品?

羊大师分析&#xff0c;为什么羊奶是孩子的理想饮品&#xff1f; 羊奶&#xff0c;作为一种传统的营养饮品&#xff0c;近年来逐渐受到家长们的青睐&#xff0c;成为孩子们的理想饮品。那么&#xff0c;羊大师将为大家讲解&#xff0c;为什么羊奶能够赢得如此多的赞誉&#xf…

Beego 使用教程 5:页面视图

beego 是一个用于Go编程语言的开源、高性能的 web 框架 beego 被用于在Go语言中企业应用程序的快速开发&#xff0c;包括RESTful API、web应用程序和后端服务。它的灵感来源于Tornado&#xff0c; Sinatra 和 Flask beego 官网&#xff1a;http://beego.gocn.vip/ 上面的 bee…

如何备考PMP才能一次通过?

PMP备考一个月就能通过&#xff0c;培训机构中就应该这么学&#xff01; PMP考试的难度其实并没有大家想象中的那么大&#xff0c;现在培训机构的通过率基本也在90%以上&#xff0c;而这90%以上也基本都是头一次参加考试很少有参加重考的学员。我就是在威班PMP培训了一个多月一…

「Java开发指南」如何用MyEclipse搭建GWT 2.1和Spring?(一)

本教程将指导您如何生成一个可运行的Google Web Toolkit (GWT) 2.1和Spring应用程序&#xff0c;该应用程序为域模型实现了CRUD应用程序模式。在本教程中&#xff0c;您将学习如何&#xff1a; 安装Google Eclipse插件为GWT配置一个项目搭建从数据库表到一个现有的项目GWT编译…

net7部署经历

1、linux安装dotnet命令&#xff1a; sudo yum install dotnet-sdk-7.0 或者直接在商店里安装 2、配置反向代理 127.0.0.1:5000》localhost 访问后报错 原因&#xff1a;数据表驼峰名&#xff0c; 在windows的数据表不区分大小写&#xff0c;但是在linux里面是默认区分的&…

【数据结构】基于顺序表实现通讯录

世界会向那些有目标和远见的人让路。&#x1f493;&#x1f493;&#x1f493; 目录 •&#x1f319;说在前面 &#x1f34b;基于顺序表的通讯录 • &#x1f330;1.技术要点 • &#x1f330;2.通讯录流程设计 &#x1f34b;通讯录基本量设计 • &#x1f330;1.定义联系…

PLM系统推荐:产品全生命周期管理最佳解决方案

PLM系统推荐&#xff1a;产品全生命周期管理最佳解决方案 在当今日益竞争激烈的市场环境中&#xff0c;企业如何高效管理其产品设计、开发和生命周期变得尤为重要。产品生命周期管理&#xff08;PLM&#xff09;系统正是为解决这一难题而诞生的。本文将为您详细介绍几款值得推荐…

HTTP免费升级到HTTPS攻略

HTTPS就是在HTTP的基础上加入了SSL&#xff0c;将一个使用HTTP的网站免费升级到HTTPS的关键就是申请一个免费的SSL证书 具体步骤如下 1 获取免费SSL证书 国内的JoySSL 提供不限量免费的SSL/TLS证书。根据自己的需求选择证书类型&#xff08;登录JoySSL官网&#xff0c;创建账号…

5.10开幕!虚拟动力多项数字人互动技术参展元宇宙生态博览会!

2024年5月10-12日&#xff0c;由广东鸿威国际会展集团有限公司、广州市虚拟现实行业协会主办的2024数字显示与元宇宙生态博览会将正式开幕。 亮点抢先看 虚拟动力 广州虚拟动力作为3D虚拟人全生态应用的产品技术开发与服务商&#xff0c;将携带无穿戴动捕技术、数字人穿戴式动…

【C++】Visual Studio 2019 给 C++ 文件添加头部注释说明

使用代码片段管理器&#xff0c;添加快捷插入代码文件说明 1. 效果 2. header.snippet 新建 header.snippet 文件&#xff0c;存放到某个文件夹 内容&#xff0c;自行更新 快捷名称&#xff0c;修改 Header 里面内容注释内容&#xff0c;修改 Code 里面内容 <?xml ver…

Linux中每当执行‘mount’命令(或其他命令)时,自动激活执行脚本:输入密码,才可以执行mount

要实现这个功能&#xff0c;可以通过创建一个自定义的mount命令的包装器&#xff08;wrapper&#xff09;来完成。这个包装器脚本会首先提示用户输入密码&#xff0c;如果密码正确&#xff0c;则执行实际的mount命令。以下是创建这样一个包装器的步骤&#xff1a; 创建一个名为…

Vue从入门到实战Day01

一、Vue快速上手 1. vue概念 概念&#xff1a;Vue是一个用于 构建用户界面的 渐进式 框架 构建用户界面&#xff1a;基于数据动态渲染页面渐进式&#xff1a;循序渐进的学习框架&#xff1a;一套完整的项目解决方案&#xff0c;提升开发效率 优点&#xff1a;大大提升开发效…

Garden Planner for Mac v3.8.62注册激活版:园林绿化设计软件

Garden Planner for Mac是一款专为苹果Mac OS平台设计的园林景观设计软件。这款软件的主要功能是帮助用户设计梦想中的花园&#xff0c;包括安排植物、树木、建筑物和其他物体。 Garden Planner for Mac提供了一个包含1200多种植物和物体符号的库&#xff0c;这些符号都可以进行…
最新文章