Numpy库的学习(一)

article/2025/9/10 8:32:46

今天来学习一下Python库中,支持高级大量的维度数组与矩阵运算的神奇的Numpy库

Numpy同时也对数组运算提供大量的数学函数,对于大量计算运行效率极好

是大量机器学习框架的基础库

废话不多说,直接开整

Numpy中最核心的结构就是ndarray数组

Numpy中定义的最重要的对象是成为ndarray的N维数组类型

它描述相同类型的元素集合。可以使用基于零的索引访问集合中的项目。大部分的数组操作仅仅是修改元数据部分,而不改变其底层的实际数据。

数组的维数称为秩,简单来说就是如果你需要获取数组中一个特定元素所需的坐标数

如a是一个2×3×4的矩阵,你索引其中的一个元素必须给定三个坐标a[x,y,z],故它的维数就是3。

数组中所有元素的类型必须是一致的,Python支持的数据类型有整型、浮点型以及复数型

但这些类型不足以满足科学计算的需求,因此NumPy中添加了许多其他的数据类型

如bool、inti、int64、float32、complex64等。同时,它也有许多其特有的属性和方法。

import numpy as np
vector = np.array([5,10,15,20])
matrix = np.array([[5,10,15],[20,25,30],[30,35,40]])
print (vector)
print (matrix)

 我们可以就看到,这里我写了一个行向向量,和一个矩阵向量

 

 可以得到如上图所示的结果,打印出一个行向量,和一个3行3列的矩阵向量

 ndarray中有很多个可以调用的属性,我们可以做一些分析等等操作

首先讲一下shape属性

vector = np.array([1,2,3,4])
print(vector.shape)
matrix = np.array([[5,10,15],[20,25,30],[30,35,40]])
print (matrix.shape)

可以看到,运行上面的代码我们得到这样一个结果

shape就是说,我要看一下这个向量的维度是多少

第一个向量,vector是一个行向量,所以说打印出来只有当前的向量中的元素个数4

对于第二行结果来说, 他是一个3X3的矩阵向量,(3,3)表示我们当前打印的数据

是一个3行3列的矩阵向量

接下来看看这个例子

number = np.array([1,2,3,4])
print(number)
number.dtype

可以看到,运行上面的代码,我们可以得到一个dtype类型值

这个值是表示我们的dtype的格式为int32,下面我们来做一些变化

number = np.array([1,2,3,4.0])
print(number)
number.dtype

我们可以看到,这里numpy帮我们自动转换了数据格式

讲所有的整数类型,全部都换成了浮点型

dtype也变成了float64类型,我们在做些变化

number = np.array([1,2,3,'4'])
print(number)
number.dtype

我们把4修改为字符串类型

 

得到的结果,数据全都变成字符串类型了,数据类型也变了

也就是说,在numpy的ndarray中,必须传进来的数据类型,都是同一种结构的

 我们现在来讲下如何使用numpy来读取文件数据

我们这里有些测试数据,名为1.txt文件

TestTxt = np.genfromtxt('1.txt',delimiter=".", dtype=str ,skip_header=1)
print(TestTxt)

这段代码的意思是,是用numpy中的genfromtxt方法读取文件

参数为,1.txt文件名称,delimiter 以什么进行分割这里用 . 点号进行分割

dtype =str 指定当前的数据类型为字符串

skip_header=1 ,指定去掉第一行数据

得到如下结果

得到了文件中的内容,转换成了矩阵,读出来的数据都是一种矩阵数据格式

当然这个文件读取方式不会经常用到,后面讲另外一个更好用的,pands库中的

这里就不多讲numpy中的文件读取

如果我想取出上面矩阵中的某个值,怎么操作呢?

比如我们想取出第三行的第一个数据

第四行的第二个数据

out = TestTxt[2,0]
out1 = TestTxt[3,1]
print(out)
print(out1)

运行上诉代码

可以看到,在numpy中,index下标是从0开始的,而不是1

所以一定要切记

我们在定义一个向量

vector = np.array([5,10,15,20,25])
print(vector[0:3])

我想打印向量中的前三个值

可以看到,这里的操作和python中的切片操作一样

选取0到3,包括0但是不包括3

那么对于矩阵来说也是一样的

matrix = np.array([
[1,2,3],
[4,5,6],
[7,8,9],
])
print(matrix[:,1])

我想打印当前矩阵所有样本的第二列

matrix[:,1]

那么这里用逗号隔开,第个表示行,第二个表示列,表示取所有行的第二列

用:进行站位

我想取所有行的前两列怎么取呢?

matrix = np.array([
[1,2,3],
[4,5,6],
[7,8,9],
])
print(matrix[:,0:2])

这里可以看到,取全部行,的0号,和1号列,2号不包含

得到结果,也很简单

那么我如何取某几行,某几列呢?方法也是一样的

matrix = np.array([
[1,2,3],
[4,5,6],
[7,8,9],
])
print(matrix[1:3,0:2])

取第2,3行的,1,2列

那么可以得到

好的,今天的numpy库就讲到这里。下次我们继续说。感觉阅读欢迎点赞转发。谢谢各位!

 


http://chatgpt.dhexx.cn/article/tfUAbkKg.shtml

相关文章

Numpy库的下载及安装(吐血总结)

Python很火,我也下了个来耍耍一阵子。可是渐渐地,我已经不满足于它的基本库了,我把目光转到了Numpy~~~~~ 然而想法总是比现实容易,因为我之前下的是Python3.3.x,所有没有自带pip!!!&…

Python - Numpy库的使用(简单易懂)

目录 numpy多维数组——数组的创建 1、array函数创建数组对象 2、通过arange、linspace函数创建等差数组对象 3、通过logspace函数创建等比数列数组 函数 zeros ones diag eye full numpy多维数组——生成随机数 函数 seed rand randn randint 函数 binomial normal 和…

python的 numpy库学习总结和介绍(超详细)模块

目录 前言 numpy是什么? 一、创建数据容器 1.np.array(),通过传递一个列表,元祖来创建 2.np.zeros(),np.ones(),np.empty(),np.full(),传递对应的形状参数,来创建一个初始化的数组 3.np.linspace()与np.arange()的使用 4.运用np.random…

Python库-numpy详解

Python库-numpy详解 1. ndarray介绍2. ndarray的基本操作生成数组数组索引、切片修改数组形状修改数组类型数组去重删除元素 3. ndarray运算逻辑运算通用判断函数三元运算符统计运算数组运算 4. matrix 矩阵介绍5. Python中矩阵运算扩展:正态分布简介正态分布图方差…

python numpy库

文章目录 NumPy( Numeric Python)numpy的引用Ndarray引入n维数组的意义ndarray的组成ndarray对象的属性 数据类型ndarray支持多种数据类型的原因ndarray数组的创建adarray数组的变换ndarray数组运算 索引与切片随机数函数统计函数梯度函数副本与视图numpy线性代数数组与标量之间…

python-numpy库

目录 ndarray对象 arange函数 array函数 random函数 其他创建数组方法 切片和索引及修改数组维度 数组的拼接 数组的分割 数组的转置 数组的运算 numpy(Numerical Python)是科学计算基础库,提供大量科学计算相关功能,比如数据统计,…

Python中的numpy库介绍!

机器学习算法中大部分都是调用Numpy库来完成基础数值计算的。 安装方法: pip3 install numpy1. ndarray数组基础 python中用列表保存一组值,可将列表当数组使用。另外,python中有array模块,但它不支持多维数组,无论是…

NumPy库的介绍与使用(一)

目录 一、NumPy库简介二、NumPy库入门1.数据的维度2.安装NumPy3.导入NumPy库 三、NumPy的数组对象:ndarray1 为什么要引入ndarry呢?2. ndarray是一个多维数组对象2.1 定义2.2 内存中的存储形式2.3 ndarray对象的属性2.4 ndarray数组的元素类型 3. ndarra…

Numpy库的介绍及使用

Numpy库的介绍及使用 1. Numpy库入门1.1 数据的维度1.2 ndarray的优势1.3 ndarray对象的属性1.4 ndarray数组的创建和变换1.4.1 ndarray数组的创建方法1.4.2 ndarray数组维度的变换 1.5 ndarray数组的索引和切片1.6 ndarray数组的运算 2. 数据存取与函数2.1 CSV存取数据2.2 多维…

numpy库的安装方法

安装numpy库的方法 winR,输入cmd,打开cmd 在cmd中输入pip install numpy,回车 输入pip list,查看numpy是否安装成功 4.在cmd中输入python,回车,在输入import numpy, 验证numpy库是否可以被调…

Numpy库的安装

Numpy库的安装 一、numpy简介 NumPy是一个功能强大的Python库,主要用于对多维数组执行计算。NumPy提供了大量的库函数和操作,可以帮助程序员轻松地进行数值计算。这类数值计算广泛用于以下任务: **机器学习模型:**在编写机器学…

numpy库的一些解释

Numpy库介绍 NumPy是一个的Python库,主要用于对多维数组执行计算。 NumPy这个词来源于两个单词-- Numerical [njuːˈmerɪkl] (数值;数值法;数值的;数字的)和 Python。主要用来进行数值计算。 有以下几个特点: 1.numpy内置了并行运算功能&a…

Numpy库

Numpy库入门 一维数据:由对等关系的有序或无序数据构成,采用线性方式组织。 二维数据由多个一维数据构成,是一维数据的组合形式。(表格) 多维数据由一维或二维数据在新维度上扩展形成。 Numpy:开源的Python科学计算…

Python Numpy库的超详细介绍

Numpy库是Python中的一个科学计算库,本文主要介绍了ndarray的基本操作、 ndarray运算等各种Numpy库的超详细教程,需要的朋友可以参考下 1、Numpy概述 1.1 概念 Python本身含有列表和数组,但对于大数据来说,这些结构是有很多不足的。由于列表的元素可以…

python进阶--Numyp库(一)

一、Numpy库介绍 NumPy(Numerical Python)是Python的⼀种开源的数值计算扩展。提供多维数组对象,各种派⽣对象(如掩码数组和矩阵),这种⼯具可⽤来存储和处理⼤型矩阵,⽐Python⾃身的嵌套列表&am…

解决端口8080被占用的问题!

今天在回顾cms项目的时候发现怎么都启动不了,看见左下角报错 原来是8080端口被别的进程占用了。 解决方法:winr cmd 回车 在命令窗口中 输入netstat -ano就可以查看所有端口显示的状态信息 找到这个本地地址是0.0.0.0:8080最后面的PID,就是…

8080端口被占用怎么办

做项目时肯定会遇到8080端口被占用的情况,其实解决办法很简单: CtrlR键,输入cmd: 复制这串代码到cmd界面: netstat -aon|findstr "8080" 可以看到8080确实被占用了: 把后面的都终止掉&#xff…

解决localhost:8080被占用

解决方法如下: 1.以管理员方式打开CMD,我的电脑——c盘——windows——system32——CMD.exe——右键管理员身份打开 1.在cmd里输入netstat -ano|findstr 8080,查看是哪个进程占用了8080端口。 2.输入taskkill /pid 11904 /f,结束…

解决SpringBoot默认Tomcat端口号8080被占用

问题描述: 打开Eclipse后启动SpringBoot项目,发现8080端口被占用。然后寻找Eclipse是否有未关闭的Tomcat项目,发现并没有,重启Eclipse仍然会出现端口占用的请况。 给出的错误信息显示。 Description: The Tomcat connector co…

解决tomcat端口8080被占用

1、eclipse启动tomcat时8080端口被占用: 2、打开CMD: 命令查找正在使用8080端口的进程, netstat -ano|findstr 8080 杀死该进程, taskkill /pid 117800 /f 命令说明:taskkill /pid 117800(进程id号&am…