iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >Numpy初步
  • 835
分享到

Numpy初步

2023-06-05 23:06:53 835人浏览 安东尼
摘要

1,获取矩阵行列数Import numpyasnp#创建二维的naaray对象a=np.array([[1,2,3,4,5],[6,7,8,9,10]])print(a.shape)   #返回一个形状,是一个tuple

1,获取矩阵行列数

Import numpyasnp

#创建二维的naaray对象

a=np.array([[1,2,3,4,5],[6,7,8,9,10]])

print(a.shape)   #返回一个形状,是一个tuple

print(a.shape[0])#获得行数,试想如果是多维的呢,所以你就会明白为什么是[0]

print(a.shape[1])   #获得列数

2,矩阵的截取

importnumpyasnp

#创建二维的naaray对象

a=np.array([[1,2,3,4,5],[6,7,8,9,10]])

print(a[0:1])#这里不是很懂,看下面

print(a[1,2:4])#返回[89],返回第二行2-3个数

print(a[1,2:5])#返回[8910]证明了取第二行的2-4个数

3,按条件截取

importnumpyasnp

#创建二维的naaray对象

a=np.array([[1,2,3,4,5],[6,7,8,9,10]])

b=a[a>6]#截取矩阵a中大于6的元素,范围的是一维数组

print(b)

print(a>6)#其实布尔语句首先生成一个布尔矩阵,将布尔矩阵传入[](方括号)实现截取

4,满足一定条件的元素变成特定的值

importnumpyasnp

#创建二维的naaray对象

a=np.array([[1,2,3,4,5],[6,7,8,9,10]])

print(a)

#大于6清零后矩阵为

a[a>6]=0

print(a)

结果分别为:

[[12345]

[678910]]

[[12345]

[60000]]

5,矩阵合并

importnumpyasnp

 

a1=np.array([[1,2],[3,4]])

a2=np.array([[5,6],[7,8]])

 

print(np.hstack([a1,a2]))#Horizontal

print(a1)#所以知道为什么是1256,2478了

print(np.vstack((a1,a2)))#vertical

np.concatenate((a1,a2),axis=0)#等价于np.vstack((a1,a2))

np.conca

6,通过函数创建矩阵

numpy自带创建narray对象的函数,可以方便的创建常用的有规律的矩阵

importnumpyasnp

a=np.arange(10)#默认从0开始到10(不包括10),步长为1

print(a)#返回[0123456789]

a1=np.arange(5,10)#从5开始到10(不包括10),步长为1

print(a1)#返回[56789]

a2=np.arange(5,20,2)#从5开始到20(不包括20),步长为2

print(a2)#返回[5791113151719]

 

7,linspace

创建指定数量等间隔的序列,实际生成一个等差数列

importnumpyasnp

 

a=np.linspace(0,10,7)#生成首位是0,末位是10,含7个数的等差数列

print(a)

8,logspace

logspace用于生成等比数列。 

importnumpyasnp

 

a=np.logspace(0,10,7)#生成首位是10**0,末位是10**4,含5个数的等比数列

print(a)

9,ones,zeros,eye,empty

ones创建全1矩阵 

zeros创建全0矩阵 

eye创建单位矩阵 

empty创建空矩阵(实际有值)

importnumpyasnp

 

one=np.ones((3,4))#创建3*4的全1矩阵

print(one)

 

zero=np.zeros((3,4))#创建3*4的全0矩阵

print(zero)

 

eye=np.eye(5)#创建5阶单位矩阵

print(eye)

 

empty=np.empty((3,4))#创建3*4的空矩阵(实际有值)

print(empty)

10,fromstring ——获得字符ASCII码

fromstring()方法可以将字符串转化成ndarray对象,需要将字符串数字化时这个方法比较有用,可以获得字符串的ascii码序列,转成相应字符的阿斯卡码。

importnumpyasnp

 

a="abcdef"

b=np.fromstring(a,dtype=np.int8)#因为一个字符为8位,所以指定dtype为np.int8

print(b)#返回[979899100101102]

11,fromfunction

fromfunction()方法可以根据矩阵的行号列号生成矩阵的元素。 

例如创建一个矩阵,矩阵中的每个元素都为行号和列号的和。

importnumpyasnp

 

deffunc(i,j):

returni+j     #这里也可以是别的,比如再加一个9

 

a=np.fromfunction(func,(5,6))

#函数定义就是如此,第一个参数为指定函数,第二个参数为列表list或元组tuple,说明矩阵的大小

print(a)

12,常用矩阵函数

同样地,numpy中也定义了许多函数,使用这些函数可以将函数作用于矩阵中的每个元素。 

表格中默认导入了numpy模块,即 import numpy asnp

a为ndarray对象。

np.sin(a) 对矩阵a中每个元素取正弦,sin(x)

np.cos(a) 对矩阵a中每个元素取余弦,cos(x)

np.tan(a) 对矩阵a中每个元素取正切,tan(x)

np.arcsin(a)对矩阵a中每个元素取反正弦,arcsin(x)

np.arccos(a)对矩阵a中每个元素取反余弦,arccos(x)

np.arctan(a)对矩阵a中每个元素取反正切,arctan(x)

np.exp(a) 对矩阵a中每个元素取指数函数,ex

np.sqrt(a) 对矩阵a中每个元素开根号√x

importnumpyasnp

 

a=np.array([[1,2,3],[4,5,6]])

print(np.sin(a))

 

#结果

[[0.841470980.909297430.14112001]

[-0.7568025-0.95892427-0.2794155]]

 

print(np.arcsin(a))

 

#结果

#RuntimeWarning:invalidvalueencounteredinarcsin

print(np.arcsin(a))

[[1.57079633nannan]   #nan是not a number 的意思

[nannannan]]

13,矩阵乘法(点乘)

条件:第一个矩阵的列数等于第二个矩阵的行数,函数为dot

importnumpyasnp

 

a1=np.array([[1,2,3],[4,5,6]])

a2=np.array([[1,2],[3,4],[5,6]])

ifa1.shape[1]==a2.shape[0]:#列数等于行数的话

print(a1.dot(a2))

 

14,矩阵的转置

transpose函数

importnumpyasnp

 

a=np.array([[1,2,3],[4,5,6]])

print(a.transpose())

15,矩阵的逆

求矩阵的逆需要先导入numpy.linalg,用linalg的inv函数来求逆。 

矩阵求逆的条件是矩阵的行数和列数相同。

importnumpyasnp

importnumpy.linalgaslg

 

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

print(lg.inv(a))

 

#结果

[[-4.50359963e+159.00719925e+15-4.50359963e+15]

[9.00719925e+15-1.80143985e+169.00719925e+15]

[-4.50359963e+159.00719925e+15-4.50359963e+15]]

 

a=np.eye(3)#3阶单位矩阵

print(lg.inv(a))#单位矩阵的逆为他本身

 

#结果

[[1.0.0.]

[0.1.0.]

[0.0.1.]]

16,矩阵信息获取(如平均值)

获得矩阵中元素最大最小值的函数分别是max和min,可以获得整个矩阵、行或列的最大最小值。

importnumpyasnp

a=np.array([[1,3,9],[1,5,6]])

print(a.max())

print(a.min())

print(a.max(axis=0))#[456]axis=0行方向最大(小)值,即获得每列的最大(小)值

print(a.min(axis=1))#[14]axis=1列方向最大(小)值

#要想获得最大最小值元素所在的位置,可以通过argmax函数来获得

print(a.argmax(axis=1))

17,平均值mean()

获得矩阵中元素的平均值可以通过函数mean()。同样地,可以获得整个矩阵、行或列的平均值

importnumpyasnp

 

a=np.array([[1,2,3],[4,5,6]])

print(a.mean())#结果为:3.5

 

#同样地,可以通过关键字axis参数指定沿哪个方向获取平均值

print(a.mean(axis=0))#结果[2.53.54.5]

print(a.mean(axis=1))#结果[2.5.]

18,方差var()

importnumpyasnp

a=np.array([[1,2,3],[4,5,6]])

print(a.var())

print(a.var(axis=0))

print(a.var(axis=1))

19,标准差std()

importnumpyasnp

a=np.array([[1,2,3],[4,5,6]])

print(a.std())

print(a.std(axis=0))

print(a.std(axis=1))

20,中值median()

调用方法是numpy.median(x,[axis]),axis可指定轴方向,默认为axis=none,对所有数取中值

importnumpyasnp

x=np.array([[1,2,3],[4,5,6]])

print(np.median(x))#对所有数取中值

print(np.median(x,axis=0))#沿第一维方向取中值

print(np.median(x,axis=1))#沿第二维方向取中值

21,求和sum()

importnumpyasnp

a=np.array([[1,2,3],[4,5,6]])

print(a.sum())#对整个矩阵求和

print(a.sum(axis=0))#对行方向求和

print(a.sum(axis=1))#对列方向求和

22,累积和cussum()

某位置累积和指的是该位置之前(包括该位置)所有元素的和。

例如序列[1,2,3,4,5],其累计和为[1,3,6,10,15],即第一个元素为1,第二个元素为1+2=3,……,第五个元素为1+2+3+4+5=15。

矩阵求累积和的函数是cumsum(),可以对行,列,或整个矩阵求累积和。

importnumpyasnp

a=np.array([[1,2,3],[4,5,6]])

print(a.cumsum())#对整个矩阵求累积和

print(a.cumsum(axis=0))#对行方向求累积和

--结束END--

本文标题: Numpy初步

本文链接: https://www.lsjlt.com/news/245294.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Numpy初步
    1,获取矩阵行列数Import numpyasnp#创建二维的naaray对象a=np.array([[1,2,3,4,5],[6,7,8,9,10]])print(a.shape)   #返回一个形状,是一个tuple...
    99+
    2023-06-05
  • ThinkPHP6初步运行swoole运行初步Websocket
    ThinkPHP6初步运行swoole运行初步Websocket 初步启动swoole tp6官网composer安装swoole 2.使用php think swoole 启动swoole 像 st...
    99+
    2023-08-31
    php swoole
  • 初识python的numpy模块
    目录一、array类型1.1array类型的基本使用1.2对更高维度数据的处理1.3Numpy创建特殊类型的array类型1.3.1生成全为0或全为1的array1.3.2np.ar...
    99+
    2024-04-02
  • 11.初始JavaScript[初步了解何为js]
    文章目录 1.初识 JavaScript1.1JavaScript 是什么1.2发展历史1.3JavaScript 和 HTML 和 CSS 之间的关系1.4JavaScript 运行过程1....
    99+
    2023-10-27
    javascript 开发语言 ecmascript
  • PHP 和 NumPy:同步需要哪些步骤?
    PHP 和 NumPy 都是十分流行的编程语言,分别用于 Web 应用程序和科学计算。随着计算机科学领域的不断发展,这两种语言在某些方面的使用也开始重叠。本文将介绍如何在 PHP 和 NumPy 之间实现同步,并探讨实现同步需要哪些步骤。...
    99+
    2023-11-03
    numpy numy 同步
  • 浅谈DjangoAdmin的初步使用
    目录创建管理员用户更改admin后台语言应用后端管理功能完善设置模型名设置显示的字段后端管理系统名称创建管理员用户 命令行输入python manage.py createsuper...
    99+
    2024-04-02
  • 《初步了解JVM》第1章
    大家都知道,Java中JVM的重要性,学习了JVM你对Java的运行机制、编译过程和如何对Java程序进行调优相信都会有一个很好的认知。废话不多说,直接带大家来初步认识一下JVM。什么是JVM?JVM(Java Virtual Machin...
    99+
    2023-06-02
  • 多线程学习初步(转)
    import java.io.*;//多线程编程public class MultiThread {public static void main(String args[]){System.out.println("我是主线程!");//...
    99+
    2023-06-03
  • Python dis 模块初步使用
    Python 代码先被编译为字节码后,再由Python虚拟机来执行字节码, Python的字节码是一种类似汇编指令的中间语言, 一个Python语句会对应若干字节码指令,虚拟机一条一条执行字节码指令, 从而完成程序执行。 Python ...
    99+
    2023-01-31
    模块 Python dis
  • python小白的初步爬虫
      前序:  最近工作不是很忙,领导突然找我谈话,说是谈话,其实就是分配活呗。果不其然,很快进入正题, 给了我一个网址链接,然后说需要商品的信息。。。巴拉巴拉。好吧,去做吧。 我当时的内心是崩溃的,python爬虫压根没碰过,这下完蛋了,...
    99+
    2023-01-30
    爬虫 python
  • 如何使 PHP 与 NumPy 同步?
    PHP 和 NumPy 是两个强大的工具,它们分别在不同的领域有着广泛的应用。但是,有时候我们需要将这两个工具结合起来使用,以实现更多的功能。那么,如何使 PHP 与 NumPy 同步呢?下面将为您详细介绍。 一、什么是 NumPy? Nu...
    99+
    2023-11-03
    numpy numy 同步
  • PHP PHPUnit测试:初学者的一步步教程
    PHPUnit 是一个流行的 PHP 单元测试框架,它允许开发人员测试代码的各个方面,确保其准确性和可靠性。对于初学者来说,使用 PHPUnit 进行测试可能看起来很复杂,但通过分步指南,它可以变得更加容易。 第一步:安装 PHPUnit...
    99+
    2024-04-02
  • 达芬奇Configurator导入DBC初步
    介绍 本文档为AutoSAR通讯部分配置文档,配置工具为Vector公司DaVinci Configurator Pro。 模块 BSW架构 通讯功能CAN通讯,通过接口层到PDU Router模块;(路径:CanDrv-...
    99+
    2023-09-04
    服务器 运维
  • ASP初学者指南:一步步学习ASP基础
    ASP.NET是一种强大的Web应用程序框架,具有许多优点,例如: 易于使用:ASP.NET是一种易于使用的框架,即使是初学者也可以快速上手。它提供了许多内置的控件和组件,可以帮助开发人员快速构建Web应用程序。 可扩展性强:ASP.N...
    99+
    2024-02-05
    ASP.NET ASP 网页开发 Web编程 Web应用程序
  • JavaScript异步编程之Promise的初步使用详解
    1. 概述 Promise对象是ES6提出的的异步编程的规范。说到异步编程,就不得不说说同步和异步这两个概念。 从字面意思理解同步编程的话,似乎指的是两个任务同步运行,如果这样理解就...
    99+
    2024-04-02
  • PHP 和 NumPy:如何实现同步?
    PHP 和 NumPy 都是广泛使用的编程语言和库。PHP 是一种服务器端脚本语言,主要用于网站开发和数据处理。NumPy 是一个用于数学计算和科学计算的 Python 库。在实际应用中,可能需要将 PHP 和 NumPy 结合起来使用,...
    99+
    2023-11-03
    numpy numy 同步
  • ASP和NumPy如何同步使用?
    ASP(Active Server Pages)是一种用于动态生成网页的服务器端脚本语言,而NumPy则是Python语言中的一个科学计算库。ASP和NumPy在不同领域有着广泛的应用,而它们的结合可以实现更加强大的功能。本文将介绍ASP...
    99+
    2023-09-19
    numy 同步 日志
  • WebLogic的初步研究(2)--结构篇
    要学习好一套系统首先要了解它的结构,本文详细的介绍 WebLogic 的一些结构和特点:WebLogic的大部分配置是在 weblogic.properties 里完成的,只要仔细的研究这个文件就可以清楚得知关于 WebLogic 的一些结...
    99+
    2023-06-03
  • 初步认识JVM的体系结构
    什么是JVM? JVM(Java Virtual Machine)是一个抽象的计算机,和实际的计算机一样,它具有指令集并使用不同的存储区域,它负责执行指令,还要管理数据、内存和寄存器...
    99+
    2024-04-02
  • 带你玩转Kafka之初步使用
    目录前言1 简单介绍2 下载安装3 基本使用 3.1 启动Kafka3.2 简单测试使用3.3 搭建多代理集群 3.3.1 开始搭建3.3.2 使用3.3.3 验证容错性4 小总结总...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作