numpy 基础使用

NumPy是Python中科学计算的基础包。它是一个Python库,提供多维数组对象,各种派生对象(如掩码数组和矩阵),以及用于数组快速操作的各种API,有包括数学、逻辑、形状操作、排序、选择、输入输出、离散傅立叶变换、基本线性代数,基本统计运算和随机模拟等等。

首先引入numpy

import numpy as np

ndarray

NumPy 中定义的最重要的对象是称为 ndarray 的 N 维数组类型。 它描述相同类型的元素集合。 可以使用基于零的索引访问集合中的项目。

ndarray中的每个元素在内存中使用相同大小的块。 ndarray中的每个元素是数据类型对象的对象(称为 dtype)。

ndarray对象提取的任何元素(通过切片)由一个数组标量类型的 Python 对象表示。 下图显示了ndarray,数据类型对象(dtype)和数组标量类型之间的关系。

image-20231112140721397

ndarray常用属性:

属性含义
ndim维度(轴)的个数
shape维度,轴,形状大小
size元素的总个数
dtype元素的数据类型
itemsize元素的字节大小
num = np.random.randn(2,3)
print(num)
print("数据类型:", type(num))
print("维度个数:", num.ndim) # 行数
print("维度大小(n,m):", num.shape)
print("元素总个数:", num.size)
print("元素的数据类型:", num.dtype)
print("元素的字节大小:", num.itemsize)

image-20231112133133273

array函数

array具有以下功能:

  • 将任意的序列对象转换为数组
  • 支持将特定的嵌套序列转换为高维数组
  • 自动推断生成的数据类型
# 将列表转为数组类型
num1 = np.array([1,2,34])
num2 = np.array([ 
    [1,2, 34],
    [34, 2, 1]
    ])
# 设置元素类型
num3 = np.array([
    [1,2,34],
    [34,2,1]
], dtype='float32')

print(num1)
print(num2)
print(num3)

image-20231112133849276

zeros函数

用法与array函数相似。创建全0数组,默认元素类型是浮点数类型;使用元组指定创建数组的形状。

# 创建 3行4列的全0矩阵
num = np.zeros((3,4))
print(num)

image-20231112134105447

ones函数

zeros函数一样,只不过是创建全0数组,默认元素类型是浮点数。

# 创建 3行4列的全1矩阵
num = np.ones((3,4))
print(num)

image-20231112134226823

empty函数

创建一个未初始化的数组。元素为内存中不确定值。

# 创建 3行4列的全1矩阵
num = np.empty((3,4))
print(num)

arange函数

arange()类似于python的内置函数range(),通过指定开始值终值步长来创建表示等差数列的一维数组,返回给定间隔内的均匀间隔值,注意得到的结果数组不包含终值

image-20231112134504698

image-20231112134528191

arange()函数有四个个参数,分别是start(开始值)、stop(终值)、step(步长)和dtype(数组类型)。

开始值可选,默认值是0,包含在数组中

终止值必选,不包含在数组中

步长可选,默认是1

# 长度为0到9
num1 = np.arange(10)
print(num1)

# 长度为0到9的偶数
num2 = np.arange(0, 10,2)
print(num2)

# 长度为0到9的奇数
num3 = np.arange(1,10,2)
print(num3)

image-20231112134931337

其他函数

  • asarray函数:类似array函数,但若转换对象为数组时,仅创 建一个引用,而array为深拷贝。
  • ones_like函数:创建一个与指定数组相同形状的全1数组。
  • zeros_like函数:创建一个与指定数组相同形状的全0数组。
  • empty_like函数:创建一个与指定数组相同形状的未初始化数组。

数据类型

Numpy 的类型C 的类型描述
np.int8int8_t字节(-128到127)
np.int16int16_t整数(-32768至32767)
np.int32int32_t整数(-2147483648至2147483647)
np.int64int64_t整数(-9223372036854775808至9223372036854775807)
np.uint8uint8_t无符号整数(0到255)
np.uint16uint16_t无符号整数(0到65535)
np.uint32uint32_t无符号整数(0到4294967295)
np.uint64uint64_t无符号整数(0到18446744073709551615)
np.intpintptr_t用于索引的整数,通常与索引相同 ssize_t
np.uintpuintptr_t整数大到足以容纳指针
np.float32float
np.float64 / np.float_double请注意,这与内置python float的精度相匹配。
np.complex64float complex复数,由两个32位浮点数(实数和虚数组件)表示
np.complex128 / np.complex_double complex请注意,这与内置python 复合体的精度相匹配。

还有许多别名等,详情看:数据类型 | NumPy

数据类型的表示

既可以用类型本身,如np.int32,也可以用类型名称字符串,例如int32,还可以用类型代码字符串,例如i4

类型转换

使用astype方法进行数组之间的类型转换。

默认生成一个新数组。

num = np.arange(1,10,1.5)
print(num)

num1 = num.astype(int)
print(num1)

image-20231112140030354

数组运算

  • 相同形状的数组之间的运算逐元素执行。

  • 数组与标量间的运算,将计算参数传递给 数组的每一个元素。

num1 = np.array([1, 2, 3])
num2 = np.array([3, 4, 5])

# 相同形状的数组之间的运算逐元素执行。
print(num1 + num2)

# 数组与标量间的运算,将计算参数传递给 数组的每一个元素。
print(num1 + 100)

image-20231112140443699

Python之Numpy详细教程_python numpy-CSDN博客

NumPy 介绍 | NumPy

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2.OpenResty系列之Lua入门

1. Lua简介 Lua是一种轻量级的、高效的脚本编程语言,最初由巴西里约热内卢天主教大学的一个研究小组开发和发布。Lua的设计目标是提供一个简单、可嵌入、可扩展的脚本语言,官方实现完全采用 ANSI C 编写,能以 C 程序库的形式嵌入到其他应用程…

【数据结构初阶】顺序表SeqList

描述 顺序表我们可以把它想象成在一个表格里面填数据,并对数据做调整; 那我们的第一个问题是:怎么样在创建出足够的空间呢? 我们可以去堆上申请,用一个指针指向一块空间,如果申请的空间不够,我…

第十六届山东省职业院校技能大赛高职组“软件测试”赛项规程

第十六届山东省职业院校技能大赛 高职组“软件测试”赛项规程 一、赛项名称 赛项名称:软件测试 赛项组别:高职组 赛项专业大类:电子与信息大类 二、竞赛目的 软件是新一代信息技术的灵魂,是数字经济发展的基础,是…

汽车ECU的虚拟化技术初探(一)

目录 1.为什么要提汽车ECU的虚拟化? 2.虚拟化技术分类 2.1 硬件虚拟化 2.2 操作系统虚拟化 问题引入: Hypervisor是如何来管理和隔离硬件资源,保证各个不同功能的应用程序的资源使用安全和资源调度?没有MMU就做不了虚拟化&am…

Clickhouse学习笔记(11)—— 数据一致性

使用合并树引擎时,无论是ReplacingMergeTree还是SummingMergeTree,都只能保证数据的最终一致性,因为数据的去重、聚合等操作会在数据合并的期间进行,而合并会在后台以一个不确定的时间进行,因此无法预先计划&#xff1…

基于SSM的停车场管理系统设计与实现

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。你想解决的问题,今天给大家介绍…

Spring基础学习——web

Spring基础学习——web 一、Spring整合Web环境1.1 JavaWeb三大组件作用及其特点1.2 Spring整合Web环境的思路及实现1.3 Spring开发Web环境组件spring-web1.4 web层MVC框架思想与设计思路 一、Spring整合Web环境 1.1 JavaWeb三大组件作用及其特点 在Java语言当中,w…

creo6.0教程之旋转,扫描

目录 一、旋转:二、扫描: 一、旋转: 案例1:旋转一个球: 任意一个平面绘制草图: 确定草图后,然后退出草图,点击旋转: 案例2:旋转一个杯子雏形: …

在以TAB为首地址的字存储区中存放有N个无符号数,试统计低3位全为1的数的个数(个数设为≤9),并显示。

;默认认采用ML6.11汇编程序 DATAS SEGMENT;此处输入数据段代码TAB DW -7,7,15,20,21N($-TAB)/2;G DW 0 DATAS ENDS STACKS SEGMENT;此处处输入堆栈段代码; DB 200 DUP(0) STACKS ENDS CODES SEGMENTASSUME CS:CODES,DS: DATAS, SS:STACKS START:MOV AX, DATASMOV DS,AX;此处输入…

swift和OC混编报错问题

1.‘objc’ instance method in extension of subclass of ‘xxx’ requires iOS 13.0.0 需要把实现从扩展移到主类实现。iOS13一下扩展不支持objc 2.using bridging headers with framework targets is unsupported 报错 这个错误通常指的是在一个框架目标中使用桥接头是不…

01:2440----点灯大师

目录 一:点亮一个LED 1:原理图 2:寄存器 3:2440的框架和启动过程 A:框架 B:启动过程 4:代码 5:ARM知识补充 6:c语言和汇编的应用 A:代码 B:分析汇编语言 C:内存空间 7:内部机制 二:点亮2个灯 三:流水灯 四:按键控制LED 1:原理图 2:寄存器配置 3:代码 一:点…

postgresql|数据库|提升查询性能的物化视图解析

前言: 我们一般认为数字的世界是一个虚拟的世界,OK,但我们其实有些需求是和现实世界一模一样的,比如,数据库尤其是关系型数据库,希望在使用的数据库能够更快(查询速度),…

亚马逊云AI应用科技创新下的Amazon SageMaker使用教程

目录 Amazon SageMaker简介 Amazon SageMaker在控制台的使用 模型的各项参数 pytorch训练绘图部分代码 Amazon SageMaker简介 亚马逊SageMaker是一种完全托管的机器学习服务。借助 SageMaker,数据科学家和开发人员可以快速、轻松地构建和训练机器学习模型&#…

765. 情侣牵手

765. 情侣牵手(leetcode,数学思维题)-------------------Java实现 题目表述 n 对情侣坐在连续排列的 2n 个座位上,想要牵到对方的手。 人和座位由一个整数数组 row 表示,其中 row[i] 是坐在第 i 个座位上的人的 ID。情侣们按顺…

头歌答案--爬虫实战

目录 urllib 爬虫 第1关:urllib基础 任务描述 第2关:urllib进阶 任务描述 requests 爬虫 第1关:requests 基础 任务描述 第2关:requests 进阶 任务描述 网页数据解析 第1关:XPath解析网页 任务描述 第…

汉明距离(Java)

两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。 给你两个整数 x 和 y,计算并返回它们之间的汉明距离。 方法1:使用内置函数 class Solution {public int hammingDistance(int x, int y) {return Integer.bitCount(x ^ y);} }方法2:移位实…

技能培训知识付费服务预约小程序的效果如何

技能、证书往往是很多人生活的基本,行业岗位竞争激烈,每个人都希望有多种技能或工作所需,而需求持续增加下,相关技能培训机构也很多,比如常见的考证、钢琴培训、针灸培训、花艺培训等。 很多行业都需要学习或考证&…

mac homebrew.mxcl.php@5.6.plist

今天启动php5.6时 遇到了一个问题 servers % brew services start php5.6 Bootstrap failed: 5: Input/output error Try re-running the command as root for richer errors. Error: Failure while executing; /bin/launchctl bootstrap gui/501 /Users/ssh/Library/LaunchAge…

Spring源码系列-Spring事务

目录 声明式事务 事务传播行为 源码解析 开启事务 调用顺序 EnableTransactionManagement注解的两个作用 引入AutoProxyRegistrar后置处理器 引入ProxyTransactionManagerConfiguration配置类 加载切面 事务的Advisor的注册 事务Advice 事务PointCut 创建动态代理…

编程知识\_C与汇编深入分析

1. 汇编怎么调用C函数 1.1 直接调用 bl main 1.2 想传参数怎么办? 在arm中有个ATPCS规则(ARM-THUMB procedure call standard(ARM-Thumb过程调用标准)。 约定r0-r15寄存器的用途: r0-r3 调用者和被调用者之间传参数 r4-r11 函…