Numpy库

目录

介绍: 

一、生成

1.1普通生成

 1.2随机生成

 1.3其它生成

二、访问

 三、赋值

四、运算

 五、其它

介绍: 

NumPy是一个用于数值计算的Python库,它提供了高效的多维数组对象(ndarray)、用于数组计算的函数以及用于线性代数、傅里叶变换和随机数生成的工具。

NumPy的主要特点包括:
1. ndarray:NumPy的多维数组对象,可以存储相同类型的元素,并提供了许多用于数组操作的方法。
2. 广播(broadcasting):NumPy能够进行不同形状数组之间的运算,通过广播机制自动对数组进行扩展和操作。
3. 数学函数:NumPy提供了丰富的数学函数,如三角函数、指数和对数函数、线性代数函数等。
4. 线性代数:NumPy提供了一组线性代数函数,如矩阵乘法、行列式求解、特征值和特征向量等。
5. 傅里叶变换:NumPy提供了一组傅里叶变换函数,用于信号处理和频谱分析。
6. 随机数生成:NumPy提供了用于生成各种分布的随机数的函数,如正态分布、均匀分布等。

使用NumPy可以更高效地进行数值计算,特别是对于大量数据和复杂计算任务,NumPy的运算速度比纯Python代码快得多。它还与其他科学计算库(如SciPy、pandas)和可视化库(如Matplotlib)结合使用,提供了一个完整的科学计算环境。

一、生成

1.1普通生成

import numpy as np
np.arange(0,20) #生成一个一维数组
#结果:array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,17, 18, 19])np.arange(0,18,3) #从0到18,左闭右开,步长为3生成一个一维数组
#结果:array([ 0,  3,  6,  9, 12, 15])
np.arange(0,20).reshape(5,4)#生成一个五行四列的数组'''array([[ 0,  1,  2,  3],[ 4,  5,  6,  7],[ 8,  9, 10, 11],[12, 13, 14, 15],[16, 17, 18, 19]])'''
my_lst1=[1,2,3,4,5]
my_lst2=[6,7,8,9,10]
my_lst3=[11,12,13,14,15]
arr=np.array([my_lst1,my_lst2,my_lst3])#合并成一个二维数组'''array([[ 1,  2,  3,  4,  5],[ 6,  7,  8,  9, 10],[11, 12, 13, 14, 15]])'''

 1.2随机生成

np.random.randint(0,100,18).reshape(6,3) #0到100随机18个
#结果:array([[22, 27, 59],
#       [78,  1, 67],
#       [75, 97, 84],
#       [70, 40, 44],
#       [25,  0, 43],
#       [55, 10, 63]])np.random.random_sample((2,5)) #0到1之间浮点数
#结果:array([[0.23890907, 0.15979033, 0.35734125, 0.95757058, 0.19518552],
#       [0.32116342, 0.59838407, 0.09917026, 0.84594515, 0.80695709]])

 1.3其它生成

np.ones((2,5),dtype=int)#生成二行五列全为1,类型为int
#结果:array([[1, 1, 1, 1, 1],
#       [1, 1, 1, 1, 1]])np.ones((2,5))#生成二行五列全为1,类型默认为float
#结果:array([[1., 1., 1., 1., 1.],
#       [1., 1., 1., 1., 1.]])arr_ex=np.random.rand(3,3)#均匀分配,0和1之间
#结果:array([[0.72517444, 0.94190256, 0.11045657],
#       [0.45551917, 0.04235148, 0.46287608],
#       [0.51471045, 0.13390842, 0.84381079]])arr_ex=np.random.randn(3,3)#正态分布
#结果:array([[ 1.73429227, -0.84827206,  2.18423689],
#       [ 0.10486991, -0.34018986, -1.60033689],
#       [ 0.67497866, -1.80770298, -0.79806985]])

 

二、访问

arr
#结果:array([[ 1,  2,  3,  4,  5],
#       [ 6,  7,  8,  9, 10],
#      [11, 12, 13, 14, 15]])arr[2] #访问第二行
#结果:array([11, 12, 13, 14, 15])arr[1] #访问第一行
#结果:array([ 6,  7,  8,  9, 10])arr[1,1] #访问第一行第一列
#结果:7arr1[1:,1:5] #第一行到所有行,第1列到第5列,左闭右开(,前为行 ,后为列)
#结果:array([[ 7,  8,  9, 10],
#       [12, 13, 14, 15]])arr[:,3:] #所有行,第三列到所有列
#结果:array([[ 4,  5],
#       [ 9, 10],
#       [14, 15]])

 三、赋值

arr1
#结果:array([[ 1,  2,  3,  4,  5],
#       [ 6,  7,  8,  9, 10],
#       [11, 12, 13, 14, 15]])arr1[1:]=100 #第一行开始到所有行,所有列赋值100
#结果:array([[  1,   2,   3,   4,   5],
#       [100, 100, 100, 100, 100],
#       [100, 100, 100, 100, 100]])arr1[:,1:]=99#所有行,1列到所有列赋值100
#结果:array([[  1,  99,  99,  99,  99],
#       [100,  99,  99,  99,  99],
#       [100,  99,  99,  99,  99]])

四、运算

arr1=np.arange(0,10).reshape(2,5)
#结果:array([[0, 1, 2, 3, 4],
#      [5, 6, 7, 8, 9]])arr2=np.arange(10,20).reshape(2,5)
#结果:array([[10, 11, 12, 13, 14],
#       [15, 16, 17, 18, 19]])arr1+arr2 #相加
#结果:array([[10, 12, 14, 16, 18],
#      [20, 22, 24, 26, 28]])arr1*arr2
#结果:array([[  0,  11,  24,  39,  56],
#       [ 75,  96, 119, 144, 171]])sum(arr1) #求和
#结果:45

 五、其它

type(arr)#类型
#结果:numpy.ndarrayarr.shape#形状
#结果:(3, 5)arr
#结果:array([[  1,  99,  99,  99,  99],
#       [100,  99,  99,  99,  99],
#       [100,  99,  99,  99,  99]])arr<10 #小于10的数
#结果:array([[ True, False, False, False, False],
#            [False, False, False, False, False],
#            [False, False, False, False, False]])val=10
arr[arr<val] #找小于val
#结果:array([1])

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Monitor, Maintenance Operation, Script code/prgramme】

Summary of M,M&O,Program JD) Monitor & M&O Symbio信必优) Job chance/opportunities on Dec 12th, 20231.1) Content 招聘JD job description:1.2) suggestions from Ms Liang/Winnie on Wechat app1.3) Java微服务是什么&#xff1f;1.3.1) [URL Java 微服务](…

如何使用PHP创建RESTful API?

创建 RESTful API&#xff08;Representational State Transferful Application Programming Interface&#xff09;是通过 HTTP 协议提供对资源的访问和操作的一种常见方式。以下是使用 PHP 创建 RESTful API 的一般步骤&#xff1a; 步骤 1: 设计 API 路由 首先&#xff0c…

QT linux下使用Qt Creator调试附加进程,加快调试

文章目录 一、调试附加进程二、配置流程&#xff08;1&#xff09;开放linux内核配置项&#xff08;2&#xff09;命令行直接启动程序&#xff08;3&#xff09;调试附加到进程 一、调试附加进程 使用附加进程调试要比直接调试速度要快&#xff0c;但是不足之处是&#xff0c;…

京微齐力:基于H7的平衡控制系统(一、姿态解析)

目录 前言一、关于平衡控制系统二、实验效果三、硬件选择1、H7P20N0L176-M2H12、MPU6050 四、理论简述五、程序设计1、Cordic算法2、MPU6050采集数据3、fir&iir滤波4、姿态解算 六、资源消耗&工程获取七、总结 前言 很久之前&#xff0c;就想用纯FPGA做一套控制系统。可…

C++二维数组(2)

图形相似度 题目描述&#xff1a; 给出两幅相同大小的黑白图像&#xff08;用0-1矩阵&#xff09;表示&#xff0c;求它们的相似度。 说明&#xff1a;若两幅图像在相同位置上的像素点颜色相同&#xff0c;则称它们在该位置具有相同的像素点。 两幅图像的相似度定义为相同像素…

通过socketpair+select实现线程同步的用法代码

1&#xff0c;socketpair详细用法说明 socketpair()是一个Unix/Linux系统调用&#xff0c;用于创建一个本地端对&#xff08;socket pair&#xff09;。它创建两个已连接的socket描述符&#xff0c;用于在同一进程中的两个不同线程之间进行通信。 以下是socketpair()函数的详…

飞天使-linux操作的一些技巧与知识点6-ansible结合jinja2使用,可规范化进行自动化管控

文章目录 在议playbook虚拟环境中安装ansibleplaybook 结合变量的一些演示普通的vars_files 变量&#xff0c;在同级目录创建目录使用host_vars 定义变量group_vars定义变量根据不同系统操作不同版本传递多个外置变量举例几个不同的示例factswhenloophandlers 与 notifytags 任…

个人养老金知多少?

个人养老金政策你了解吗&#xff1f;税优政策你知道吗&#xff1f;你会计算能退多少税吗&#xff1f;… 点这里看一看

橘子学K8S01之容器中所谓的隔离

我们一直都在说容器就是一个沙盒&#xff0c;沙盒技术顾名思义就是像一个集装箱一样&#xff0c;把应用(服务&#xff0c;进程之类的)装起来的技术&#xff0c;这样每个进程在自己的沙盒中和其他的沙盒隔离开来&#xff0c;每个沙盒之间存在一个边界使得他们互不干扰&#xff0…

NFTScan 获得比特丛林 (BitJungle) 公司战略投资

近日&#xff0c;NFT 数据基础设施服务商 NFTScan 获得知名区块链安全公司比特丛林 (BitJungle) 战略投资。未来&#xff0c;双方将在链上数据和区块链安全领域展开战略合作&#xff0c;高效联动&#xff0c;让区块链大数据发挥更大价值。 关于 BitJungle 比特丛林 (BitJungle…

删除指定文件夹下的所有文件

要删除指定文件所在的文件夹下的所有文件&#xff08;不包括文件夹本身&#xff09;&#xff0c;你可以使用Python的os模块和os.path模块。下面是一个示例代码&#xff0c;演示如何删除文件夹下的所有文件&#xff0c;但保留文件夹本身&#xff1a; import osdef delete_files…

鸿鹄云商:Java商城引领商业模式的潮流,免费搭建多种商城模式

java SpringCloud版本b2b2c鸿鹄云商平台全套解决方案 使用技术&#xff1a; Spring CloudSpring BootMybatis微服务服务监控可视化运营 B2B2C平台&#xff1a; 平台管理端(包含自营) 商家平台端(多商户入驻) PC买家端、手机wap/公众号买家端 微服务&#xff08;30个通用…

idea插件开发报错: ZipException opening “slf4j.jar“: zip END header not found

错误信息 E:\idea-workspace\#idea-plugin\JSON2Object\src\main\java\com\hgy\plugin\json2object\GenerateAction.java:1: 错误: 无法访问com.hgy.plugin.json2object package com.hgy.plugin.json2object; ^ZipException opening "slf4j.jar": zip END header no…

在 Python 中,assert 是一个断言语句

在 Python 中&#xff0c;assert 是一个断言语句&#xff0c;用于测试代码中的条件是否为真。它的语法如下&#xff1a; assert condition, message其中&#xff0c;condition 是要测试的条件&#xff0c;如果条件为真&#xff08;True&#xff09;&#xff0c;则程序继续执行…

湖南开放大学形成性考核 平时作业 参考试题

试卷代号&#xff1a;1292 企业集团财务管理 参考试题&#xff08;开卷&#xff09; 一、单项选择题&#xff08;将正确答案的字母序号填入括号内。每小题2分&#xff0c;共20分&#xff09; 1.当投资企业拥有被投资企业有表决权的资本比例超过50%以上时&#xff0c;母公司…

MyBatisPlus常用注解

TableName 描述&#xff1a;表名注解&#xff0c;标识实体类对应的表 使用位置&#xff1a;实体类 MyBatis-Plus在确定操作的表时&#xff0c;由BaseMapper的泛型决定&#xff0c;即实体类型决定&#xff0c;且默认操作的表名和实体类型的类名一致。 此时可通过TableName注解直…

用23种设计模式打造一个cocos creator的游戏框架----(十六)亨元模式

1、模式标准 模式名称&#xff1a;亨元模式 模式分类&#xff1a;结构型 模式意图&#xff1a;运用共享技术有效地支持大量细粒度的对象 结构图&#xff1a; 适用于&#xff1a; 1、一个应用程序使用了大量的对象. 2、完全由于使用大量的对象&#xff0c;造成很大的存储开…

铭飞CMS list 接口 SQL注入漏洞复现

0x01 产品简介 铭飞CMS是一款基于java开发的一套轻量级开源内容管理系统,铭飞CMS简洁、安全、开源、免费,可运行在Linux、Windows、MacOSX、Solaris等各种平台上,专注为公司企业、个人站长快速建站提供解决方案 0x02 漏洞概述 铭飞CMS在5.2.10版本以前list 接口处存在sql注入…

什么是CAS(比较并交换-乐观锁机制-锁自旋)

什么是 CAS&#xff08;比较并交换-乐观锁机制-锁自旋&#xff09; 概念及特性 CAS&#xff08;Compare And Swap/Set&#xff09;比较并交换&#xff0c;CAS 算法的过程是这样&#xff1a;它包含 3 个参数CAS(V,E,N)。V 表示要更新的变量(内存值)&#xff0c;E 表示预期值(旧…

嵌入式开发板qt gdb调试

1&#xff09; 启动 gdbserver ssh 或者 telnet 登陆扬创平板 192.168.0.253&#xff0c; 进入命令行执行如下&#xff1a; chmod 777 /home/HelloWorld &#xff08;2&#xff09; 打 开 QTcreator->Debug->StartDebugging->Attach to Running Debug Server 进行…