《专题》numpy科学计算基础库——精细化讲解 <1>

news2024/11/13 18:11:58

一、什么是numpy库

        Numpy(Numerical Python) 是科学计算基础库,提供大量科学计算 相关功能,比如数据统计,随机数生成等。其提供最核心类型为多维数组类型(ndarray),支持大量的维度数组与矩阵运算, Numpy支持向量处理ndarray对象,提高程序运算速度。

二、安装numpy库

1、通过pip直接安装

pip install numpy

2、安装pandas库也可以,因为安装pandas库的时候会自动帮你安装numpy库

pip install pandas

3、使用jupyter notebook 编写代码

        使用方法:直接在pycharm的终端页面输入jupyter notebook,输入以后点击回车,即可打开使用页面,此时页面中的内容就是pycharm存放代码的位置,因为pycharm社区版没有jupyter功能,其文件后缀名为.ipynb

打开以后点击右侧(new)然后再点击第一条Python3打开页面,更改文件名可以在左上角找到rename即可。

jupyter notebook方便进行数据的处理,其可以对每一步都做出运行,每输入一行,长按shift+回车即可运行当前行代码,并进入下一行

三、使用numpy库函数

1、arange创建数组        

        该函数可以传入一个整数类型的参数n,函数返回值看着像一个列表,其实返回值类型是numpy.ndarray,这是 Numpy 中特有的数组类型。如果传入arange 函数的参数值是 n ,那么 arang 函数会返回 0n-1 的ndarray类型的数组。
其使用方法如下:

例如:

上述则是一个一维数组

同样也可以生成一个二维数组:

2、array函数:生成多维数组

        array函数可以生成多维数组,如果要生成一个二维数组,需要向array函数传递一个列表类型参数每一个列表元素是一维的ndarray类型数组,作为二维数组的行。另外,通过ndarray类的shape属性可以获得数组每一维的元素个数(元组形式),也可以通过shape[n]形式获得每一维的元素个数,其中n是维度,从0开始

其书写格式如下:

numpy.array(object, dtype = None, copy =True, order = None, subok = False, ndmin = 0)

如图所示即为一个二维数组(两个中括号),

其同样可以生成一个多维数组,图示为三维数组,但是括号内需要齐次

2.1 shape

如图输出的内容说明这个数组是两行三列的,如果在shape后加个中括号shape[0],则说明输出这个二维数组第一维的元素个数

即图示为三行四列元素,shape[0]输出第一维的元素个数,shape[1]输出第二位的元素个数

2.2  ndmin:用于指定生成的数组的最小维数

其生成一个三维数组

2.3 dtype: 是用于指定数组数据类型的参数

float64表示数组中的元素类型是64位浮点数(双精度浮点数)

3、random:生成随机数

3.1、random.random : 0.0-1.0之间的随机小数

        其中size为一个值时表示一维这个数字个数的随机数,(a,b),则表示二维a行b列,以此类推

3.2、random.randint:随机整数

        下图表示生成4以内的随机整数

        下图表示生成[4,6)之间的随机整数

        下图表示生成[4,10)之间的整数3个,并生成一个一维数组

3.3  randn(d0,d1,,dn): 正态分布

        randn函数返回一个或一组样本,具有标准正态分布(期望为0,方差为1

        dn表格每个维度,返回值为指定维度的数组
下图表示随机生成2行3列二维数组,其满足正态分布

3.4 normal 指定期望和方差生成正态分布

下列为随机生成平均值(期望)loc为10,方差为1的3行4列二维数组

3.5  ndarray 对象

        Numpy 最重要的一个特点是其 N 维数组对象 ndarray ,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。

其对象属性如下:

如下图即可展示:

4、zeros创建:创建指定大小的数组,数组元素以 0 来填充

        例如下列,创建一个3行4列的二维数组:

4.1 zeros_like:根据传入的数组形状创建全为0的数组

5、ones创建:创建指定形状的数组,数组元素以 1 来填充。

5.1 ones_like():根据传入的数组形状创建全为1的数组

6、empyt创建

        创建一个指定形状(shape )、数据类型( dtype )且未初始化的数
组,里面的元素的值是之前内存的值:

7、full()创建:

        创建全为某个指定值的数组
即创建2行2列的全为1的数组

8、add

        用于执行元素级加法的函数。它可以用来将两个数组中对应位置的元素相加,并返回一个新的数组,新数组的每个元素都是对应位置上两个输入数组元素的和

类似于a+b

9、eye / identity 创建单位矩阵

        单位矩阵从左上角到右下角的对角线上的元素均为1, 除此以外全都为0 。任何矩阵与单位矩阵相乘都等于本身,而且单位矩阵因此独特性在高等数学中也有广泛应用。

10、linspace创建:等差数列

linspace 函数用于创建一个一维数组,数组是一个等差数列构成的,格式如下:

1开始10结束,包含1和10,生成个数10个元素的等差数列一维数组,其中步距为1

11、logspace创建:等比数列

格式如下:

如下图所示

2开始,256结尾,endpoint默认结尾为True包含结尾,个数为numa为16个,对数的底数base为2,默认base为10

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

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

相关文章

Java面试题(每日更新)

每日五道!学会就去面试! 本文的宗旨是为读者朋友们整理一份详实而又权威的面试清单,下面一起进入主题吧。 目录 1.概述 2.Java 基础 2.1 JDK 和 JRE 有什么区别? 2.2 和 equals 的区别是什么? 2.3 两个对象的…

Linux ls命令详解

学习 Linux ,本质上是学习在命令行下熟悉使用 Linux 的各类命令; 1. Linux 命令通用格式 命令格式:命令 【-选项】【参数】(个别命令不遵循该格式) 短线(-)是区分选项和参数的标志,选项用来调整命令的功能…

redis的学习(一):下载安装启动连接

简介 redis的下载,安装,启动,连接使用 nosql nosql,即非关系型数据库,和传统的关系型数据库的对比: sqlnosql数据结构结构化非结构化数据关联关联的非关联的查询方式sql查询非sql查询事务特性acidbase存…

前端系列-6 使用Vue3搭建前端工程与setup语法糖介绍

背景 本文介绍如何使用vue3脚手快速搭建一个前端项目,并对生成的项目结构进行简单介绍,然后介绍setup语法糖。前端入门的同学可基于本文内容快速搭建属于自己的项目。 vue官网资料显示, vue3开发的项目相对vue2, 具有打包后体积变小,极速启动…

【网络】socket和udp协议

socket 一、六个背景知识1、Q1:在进行网络通信时,是不是两台机器在进行通信?2、端口号3、端口号vs进程PID4、目的端口怎么跟客户端绑定的呢?也就是怎么通过目的端口去找到对应的进程的呢?5、我们的客户端,怎…

textblob文本处理、词性分析与情感分析

1 前言 textBlob 是一個简单易用的 NLP库,基于 NLTK 和 pattern库, 提供了文本处理和情感分析等功能。 安装 textblob0.18.0 nltk3.8.1测试环境:Python3.10.9 使用前,先运行下面代码先下载些文件 import nltk nltk.download…

机器学习 | 阿里云安全恶意程序检测

目录 一、数据探索1.1 数据说明1.2 训练集数据探索1.2.1 数据特征类型1.2.2 数据分布1.2.3 缺失值1.2.4 异常值1.2.5 标签分布探索 1.3 测试集探索1.3.1 数据信息1.3.2 缺失值1.3.3 数据分布1.3.4 异常值 1.4 数据集联合分析1.4.1 file_id 分析1.4.2 API 分析 二、特征工程与基…

「YD-221WA无线多合一变送器」让高效监测触手可及!

前言 近年来,伴随着“中国制造2025”、“互联网”在我国的全面推进,智能无线仪表设备在工业控制领域大规模应用。“设备上云”成为众多企业实现数字化转型升级的重要策略,为提升仪表设备管理软件的网络化、智能化、易维护性等方面提供了强有…

问题记录-SpringBoot 2.7.2 整合 Swagger 报错

详细报错如下 报错背景,我将springboot从2.3.3升级到了2.7.2,报了下面的错误: org.springframework.context.ApplicationContextException: Failed to start bean documentationPluginsBootstrapper; nested exception is java.lang.NullPo…

1.3、校验码

校验码 简介奇偶校验编码方法分类注意练习题 CRC循环冗余校验模2除法异或运算模2除法计算过程 循环冗余校验CRC过程练习题选择题 海明校验步骤练习题 简介 计算机在接收相应信息的时候,能够识别的都是一些电信号或者转化后的0 1二进制。那包括我们在网络上传递信息…

昇思25天学习打卡营第16天|LLM-MindNLP ChatGLM-6B StreamChat

打卡 目录 打卡 任务说明 环境配置 部署方式 ChatGLM-6B 体验截图示例 ChatGLM-6B 模型结构解析如下 ChatGLM2-6B 模型结构解析如下 任务说明 加载智谱清言的chatglm模型权重文件(目前有4个版本),本次主要尝试了chatglm-6b。 chatgl…

人工智能(AI)在办公场所的广泛应用

人工智能(AI)在办公场所的广泛应用正逐步改变着我们的工作方式和效率。随着技术的进步,越来越多的公司和组织开始采用各种AI技术来优化工作流程、提升生产力,并提供更好的用户体验。以下是人工智能在办公方面的一些主要作用和影响…

C++中,虚函数的作用详解

我个人认为虚函数的作用有两个: 增加安全性;提醒子类去做该做的事情。 提高效率;不是指程序执行效率,而是编码效率。 首先我这里要纠正一下: 一个函数被定义为虚函数,不代表这个函数未被实现&#xff1…

leetcode.nvim使用cookie无法登陆问题

错误描述: 使用力扣 (LeetCode) 全球极客挚爱的技术成长平台 的cookie在neovim上使用leetcode.nvim进行登录会出现curl xxx -D xxxx的报错。 解决方法: 使用LeetCode - The Worlds Leading Online Programming Learning Platform这个网站的cookie进行登…

这7款高效爬虫工具软件,非常实用!

在当今数据驱动的时代,自动化爬虫工具和软件成为了许多企业和个人获取数据的重要手段。这里会介绍6款功能强大、操作简便的自动化爬虫工具,用好了可以更高效地进行数据采集。 1. 八爪鱼采集器 八爪鱼是一款功能强大的桌面端爬虫软件,主打可…

轮船控制系统nmea2000电缆组件 7/8 T型连接器

NMEA 2000 7/8 T型连接器概述 NMEA 2000 7/8 T型连接器是专为船舶控制系统设计的电缆组件,主要用于连接船上的各种电子设备和系统,如GPS接收器、自动驾驶仪、风速和风向传感器、深度声纳等。这些设备通过NMEA 2000总线共享数据,包括导航信息…

1.Fabric框架

要了解Fabric,首先要知道Hyperledger开源项目。 2015年12月,由开源世界的旗舰组织Linux基金会牵头,30家初始企业成员共同宣布Hyperledger联合项目成立。Hyperledger 超级账本,是首个面向企业应用场景的分布式账本平台&#xff0c…

【算法】深入理解并优化算法:提升软件开发效率与质量

目录 一、算法的基本概念 输入 输出 确定性 有限性 有效性 二、常见算法类型 1. 排序算法 选择排序(Selection Sort) 插入排序(Insertion Sort) 快速排序(Quick Sort) 归并排序(Mer…

搜维尔科技:Movella推出面向自主机器和边缘人工智能应用的Xsens MTi传感器组合

Movella近日宣布针对自主机器和边缘人工智能应用,已增强旗下的Xsens MTi™惯性传感器模块。Xsens MTi传感器可与NVIDIA Jetson™平台轻松集成,用于边缘人工智能和机器人技术,并与NVIDIA Jetson AGX Orin™、NVIDIA Jetson Orin™ NX和NVIDIA …

基本聚集函数和case的应用

文章目录 1.基本聚集函数(1)基本聚集函数的介绍(2)使用基本聚集函数的简单例子&#xff08;1&#xff09;查询最大年龄&#xff0c;最小年龄年龄和平均年龄<1>最大年龄<2>最小年龄<3>平均年龄 (2&#xff09;配合上where语句&#xff0c;查询女士的平均年龄(…