python numpy库

article/2025/9/10 8:41:07

文章目录

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

NumPy( Numeric Python)

numpy是一个开源的python科学计算扩展库,主要用来处理任意维度数组和矩阵
相同的任务,使用numpy比直接用python的基本数据结构更加简单高效。
它的功能:

  1. 包含一个强大的N维数组对象Ndarray
  2. 广播功能函数
  3. 整合C/C++代码的工具
  4. 线性代数、傅里叶变换、随机数生成等功能
    numpy是scipy,pandas等数据处理或科学计算库的基础

numpy的引用

在这里插入图片描述
虽说别名可以省略或者更改,但尽量使用上述约定的别名

Ndarray

n维数组,它是一个相同数据类型的集合,以0为下标开始进行集合中元素的索引。
我们知道,python有列表和数组此类的数据结构。
列表:数据类型可以不同(如[3, 2.4 ,‘a’ ,“abc”]),数据是有序的
数组:数据类型相同(如[1,2,3,4])
集合:(如{2,4,3,5,7})数据是无序的

引入n维数组的意义

观察下列两组操作,其功能都是一样的。

import numpy as npdef pysum():a = [1, 2, 3, 4]b = [5, 6, 7, 8]c = []for i in range(len(a)):c.append(a[i]**2+b[i]**3)return cdef numpysum():a = np.array([1, 2, 3, 4])b = np.array([5, 6, 7, 8])c = a**2+b**3return cprint("使用列表运算的结果是:", pysum())
print("使用Numpy运算的结果是:", numpysum())
'''
运行结果:
使用列表运算的结果是: [126, 220, 352, 528]
使用Numpy运算的结果是: [126 220 352 528]
'''

但是很明显:

  1. numpy的数组对象可以去掉元素建运算所需要的循环,使一维向量更像单个数据
  2. numpy通过设立专门的数组对象,经过优化,运算速度也相应提升
    通常情况下,在科学运算中,一个维度所有数据的类型往往相同,这时,使用数组对象采用相同的数据类型,有助于节省运算时间和存储空间

ndarray的组成

  1. 实际的数据
  2. 描述这些数据的元数据(数据维度、数据类型等)
    在这里插入图片描述

ndarray对象的属性

在这里插入图片描述

数据类型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
当np.array()不指定dtype时,numpy将根据数据情况关联一个dtype类型

ndarray支持多种数据类型的原因

  1. python基本语法只支持整数、浮点数和复数3种类型
  2. 科学计算涉及数据较多,对存储和性能都有较高要求
  3. 对元素类型精细定义,有助于numpy合理使用存储空间并优化性能
  4. 对元素类型精细定义,有助于程序员对程序规模有合理评估

ndarray数组的创建

import numpy as np
x = np.array([[1, 0], [2, 0], [3, 1]], np.int32)
print(x)
print(x.dtype)
'''
程序输出:
[[1 0][2 0][3 1]]
int32
'''

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

adarray数组的变换

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

ndarray数组运算

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

索引与切片

索引:获取数组中特定位置元素的过程
切片:获取数组元素子集的过程
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

随机数函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

统计函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

梯度函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

副本与视图

numpy线性代数

数组与标量之间的运算

在这里插入图片描述

常用numpy.linalg函数总结

函数功能
diag以一维数组的形式返回方阵的对角线元素,或将一维数组转换维方阵
dot矩阵乘法
trace计算对角线元素的和
det计算矩阵行列式
eig计算方阵的本征值和本征向量
inv计算方阵的逆
svd计算奇异值分解
solve解线性方程组Ax=b,其中A为方阵
lstsq计算Ax=b的最小二乘解

(好家伙,numpy内置函数太多了…)


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

相关文章

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…

idea报8080端口被占用解决

1错误提示 Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port. 2原因 这是因为我们某个程序占用了8080端口,有可能是我们以前某个项目没有正确暂停导致。 3解决 1:打开cmd窗…

Tomcat 8080 端口被占用解决方案

1. 报错记录 原因:端口号8080被其他应用程序占用 2. 解决方案 方案一:结束占用端口程序 在Windows控制台中输入下面内容查询占用8080端口的进程id netstat -ano|findstr "8080" ctrlshiftesc打开任务管理器,在服务通过pid找到占用程…

解决8080端口号被占用问题

在使用TomCat时偶尔会出现8080端口被占用的提示,为此总结出如下解决方法: 1.以管理员身份打开命令提示符 2.输入netstat -ano|findstr "8080" 3. 上图最右边的6636、3280、6636为进程id,接下来就要结束这些进程 4.输入taskkill /f /pid 663…

解决windows系统下8080端口被占用

1.winR:输入cmd,回车 输入指令:netstat -ano | findstr 8080 指令的意思是找出占用8080端口的进程pid 2. 此时找到8080端口号的pid是11660(pid是会变化的) 终止进程 释放端口 输入指令:taskkill …

解决SpringBoot8080端口被占用问题

问题描述: 大致意思是我们使用的8080端口已经被占用了。 解决方法: 方法一:修改我们要使用的端口 在resource目录下面找到application.properties然后输入 server.port 8081(注意:这里不一定非要是8081,…