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://xiahunao.cn/news/3019359.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

领导想提拔你,看的从来不只是努力

谁不曾做过努力工作&#xff0c;一路升职加薪的职业规划&#xff0c;现实却给很多人泼了一盆冷水。 在大家的普遍认知里&#xff0c;北上广普遍高薪&#xff0c;月入过万就是标配。 然而在逃离北上广的热门帖子下&#xff0c;有网友发出了声音&#xff1a; “我都35了&#xff…

SpringBoot Actuator未授权访问漏洞的解决方法

1. 介绍 Spring Boot Actuator 是一个用于监控和管理 Spring Boot 应用程序的功能模块。它提供了一系列生产就绪的功能&#xff0c;帮助你了解应用程序的运行状况&#xff0c;以及在运行时对应用程序进行调整。Actuator 使用了 Spring MVC 来暴露各种 HTTP 或 JMX 端点&#x…

2024年全国五大数学建模竞赛Top榜及难度分析!推荐数维杯!!!

发现最近许多同学都陆续开始准备今年的数学建模竞赛了&#xff0c;但是随着数学建模领域越来越普及&#xff0c;影响力越来越广泛&#xff0c;参加的同学也越来越多&#xff0c;就导致有越来越多各式各样的数学建模竞赛此起彼伏出现&#xff0c;但其中有一些竞赛其实并不值得参…

Vue按照顺序实现多级弹窗(附Demo)

目录 前言1. 单个弹窗2. 多级弹窗 前言 强化各个知识点&#xff0c;以实战融合&#xff0c;以下两个Demo从实战提取 1. 单个弹窗 部署按钮框以及确定的方法即可 截图如下所示&#xff1a; 以下Demo整体逻辑如下&#xff1a; 点击“生成周月计划”按钮会触发showWeekPlanDia…

pytorch实现transformer(1): 模型介绍

文章目录 1. transformer 介绍2 Position Encoding2.1 位置编码原理2.2 代码实现3 Self-attention4 前馈层FFN5 残差连接与层归一化6 编码器和解码器结构1. transformer 介绍 Transformer 模型是由谷歌在 2017 年提出并首先应用于机器翻译的神经网络模型结构。机器翻译的目标是…

23.右值引用_c++11(左值引用的使用场景、右值引用的使用场景、左值引用和右值引用的对比、移动构造、移动赋值、右值引用完美转发)

传统的C语法中就有引用的语法&#xff0c;而C11中新增了的右值引用语法特性&#xff0c;所以从现在开始我们之前学习的引用就叫做左值引用。无论左值引用还是右值引用&#xff0c;都是给对象取别名。 4.右值引用 4.1 左值引用和右值引用 什么是左值&#xff1f;什么是左值引…

2024年常用的几款透明加密软件大全

文件透明加密软件是一种特殊类型的加密工具&#xff0c;它们能够在后台自动加密和解密文件&#xff0c;对用户来说&#xff0c;加密和解密是透明的&#xff0c;不需要额外的操作。以下是几种常见的文件透明加密软件&#xff1a; 1、Ping32&#xff1a; Ping32透明加密软件还具…

4000定制网站,因为没有案例,客户走了

接到一个要做企业站点的客户&#xff0c;属于定制开发&#xff0c;预算4000看起来是不是还行的一个订单&#xff1f; 接单第一步&#xff1a;筛客户 从客户询盘的那一刻开始就要围绕核心要素&#xff1a;预算和工期&#xff0c;凡是不符合预期的一律放掉就好了&#xff0c;没必…

Python | Leetcode Python题解之第74题搜索二维矩阵

题目&#xff1a; 题解&#xff1a; class Solution:def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:row,col len(matrix),len(matrix[0])row_l,row_r 0,row-1while row_l < row_r:m (row_lrow_r)//2if target < matrix[m][0]:row_r m-1…

[已解决]oneforAll ImportError: cannot import name ‘sre_parse‘ from ‘re‘

在使用 oneforall中&#xff0c;配置环境时出现了这个报错&#xff1a; 实际上是因为高版本python中re模块没有了sre_parse模块&#xff0c;可以修改exrex.py 代码&#xff0c;直接导入sre_parse模块&#xff0c;如下&#xff1a;

Pspice for TI学习

Pspice for TI中PSpice Part Search空白解决方法 配置环境变量 Cad_PSpice_TI_Regr_Srvr https://software-dl.ti.com/pspice/S009 重新安装2023版的Pspice Pspice安装链接 打开新安装的软件即可发现PSpice Part Search可以正常使用了 VSIN各参赛的含义 VOFF直流偏置VAMPL…

重生奇迹MU获取宝石方法

1、商城&#xff1a;商场分为钻石商城和绑钻商城&#xff0c;钻石是直接充值的&#xff0c;绑钻是系统赠送的&#xff0c;两个地方所出售的道具都不一样&#xff0c;绑钻不能在钻石商城中购买。钻石商城中有各个等级的宝石出售&#xff0c;越高级的钻石越贵&#xff0c;不建议平…

网络安全之ACL

ACL&#xff1a;访问控制列表——控制列表&#xff08;策略列表&#xff09;&#xff0c;是一个控制工具。 功能&#xff1a;&#xff01;、定义感兴趣路由&#xff08;控制层面&#xff09;。2、定义感兴趣流量&#xff08;数据层面&#xff09;。 例如&#xff1a; 假设在该…

Python 中 “yield“ 的不同行为

在我们使用Python编译过程中&#xff0c;yield 关键字用于定义生成器函数&#xff0c;它的作用是将函数变成一个生成器&#xff0c;可以迭代产生值。yield 的行为在不同的情况下会有不同的效果和用途。 1、问题背景 在 Python 中&#xff0c;“yield” 是一种生成器&#xff0…

武汉星起航:亚马逊欧洲站:丰富商品与卓越服务铸就高客单价典范

亚马逊&#xff0c;作为全球最大的电商平台之一&#xff0c;其欧洲站在全球电商市场中占据着举足轻重的地位。其中&#xff0c;亚马逊欧洲站的人均客单价更是高居世界前列&#xff0c;这背后究竟隐藏着哪些原因呢&#xff1f; 首先&#xff0c;亚马逊具有丰富且高质量的商品品…

设计模式:命令模式

文章目录 一、什么是命令模式二、命令模式结构三、命令模式实现步骤四、命令模式应用场景 一、什么是命令模式 它允许将请求封装为对象&#xff0c;一个请求对应于一个命令&#xff0c;将发出命令的责任和执行命令的责任分割开。每一个命令都是一个操作&#xff1a;请求的一方…

【@ohos.events.emitter (Emitter)】

ohos.events.emitter (Emitter) 本模块提供了在同一进程不同线程间&#xff0c;或同一进程同一线程内&#xff0c;发送和处理事件的能力&#xff0c;包括持续订阅事件、单次订阅事件、取消订阅事件&#xff0c;以及发送事件到事件队列的能力。 说明&#xff1a; 本模块首批接…

zlib编译后静态库调用时遇到的无法解析的外部符号问题

编译zlib的静态库后引用到项目中使用&#xff0c;发现报下面的链接错误&#xff1a; error LNK2019: 无法解析的外部符号 _zlibVersion error LNK2019: 无法解析的外部符号 _deflateEnd error LNK2019: 无法解析的外部符号 _deflate error LNK2019: 无法解析的外部符号 _deflat…

什么牌子充电宝质量耐用且性价比高、充电宝性价比高品牌合集

在现代社会&#xff0c;手机几乎成了我们生活中不可或缺的一部分。无论是工作、学习还是娱乐&#xff0c;我们都离不开手机的陪伴。然而&#xff0c;随着手机使用频率的增加&#xff0c;电量焦虑也逐渐成为了我们共同面临的问题。出门时&#xff0c;我们可能会忘记带钱包&#…

已解决-你需要trustedinstaller权限才能执行此操作

欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一.前言 二.解决方法 一.前言 我想删除C:\Windows\System32\drivers文件夹下面的内容,可是报错: 怎么办呢? 二.解决方法 右键要删除的文件