Numpy-ndarray(1)

1. Numpy的基石——ndarray数组 我们知道,数组只能够存储同一类型的数据,但是在实际的需求中,我们接触到的大部分都是一条数据中包含多个属性数据,例如一张成绩表中,每条数据都包含姓名、学号、成绩等数据,分别对应字符串、整型、浮点型等数据类型,而在数据类型中,我们不能从已有的数据类型中找到一个合适的数据类型来对应我们成绩表中的数据,这时候我们就需要利用到数据类型对象来新建一个结构化数据类型。NumPy 中定义结构化数据需要用到 dtype 对象。字符码数据类型b布尔类型i带符号整型u无符号整型f浮点数整型c复数类型m。 阅读详情

Numpy:提供了一个在Python中做科学计算的基础库,重在数值计算,主要用于多维数组(矩阵)处理的库。用来存储和处理大型矩阵,比Python自身的嵌套列表结构要高效的多。本身是由C语言开发,是个很基础的扩展,Python其余的科学计算扩展大部分都是以此为基础。

ndarray

NumPy数组是一个多维的数组对象(矩阵),称为ndarray,具有矢量算术运算能力和复杂的广播能力,并具有执行速度快和节省空间的特点。

ndarray的随机创建

代码示例:

# 生成指定维度大小(3行4列)的随机多维浮点型数据(二维),rand固定区间0.0 ~ 1.0
arr = np.random.rand(3, 4)
print(arr)
# 生成指定维度大小(3行4列)的随机多维整型数据(二维),randint()可以指定区间(-1, 5)
arr1 = np.random.randint(-1, 5, size = (3, 4)) # 'size='可省略
print(arr1)
# 生成指定维度大小(3行4列)的随机多维浮点型数据(二维),uniform()可以指定区间(-1, 5)
arr2 = np.random.uniform(-1, 5, size = (3, 4)) # 'size='可省略
print(arr2)

运行结果:

[[0.78190146 0.18512053 0.20668498 0.76755441]
 [0.66357917 0.78063804 0.99547503 0.52404201]
 [0.6841349  0.08024252 0.39219418 0.25858717]]
 
 [[ 4  1  0  4]
 [ 4  3 -1  4]
 [ 2 -1  4  0]]
 
[[ 3.52159321  0.70186862  4.85018144  1.75403943]
 [ 4.6906693  -0.1290741   2.86832492  4.44124264]
 [ 3.73975542  1.83643335  2.31703324  4.32951403]]

以上的类型都为:<class ‘numpy.ndarray’>

ndarray的序列创建
  1. np.array(collection)
    collection 为 序列型对象(list)、嵌套序列对象(list of list)。

示例代码:

# list序列转换为 ndarray
lis = range(10)
arr = np.array(lis)

print(arr)            # ndarray数据
print(arr.ndim)        # 维度个数
print(arr.shape)    # 维度大小

# list of list嵌套序列转换为ndarray
lis_lis = [range(10), range(10)]
arr = np.array(lis_lis)

print(arr)            # ndarray数据
print(arr.ndim)        # 维度个数
print(arr.shape)    # 维度大小

运行结果:

# list序列转换为 ndarray
[0 1 2 3 4 5 6 7 8 9]
1
(10,)

# list of list嵌套序列转换为 ndarray
[[0 1 2 3 4 5 6 7 8 9]
 [0 1 2 3 4 5 6 7 8 9]]
2
(2, 10)
  1. np.zeros()
    指定大小的全0数组。注意:第一个参数是元组,用来指定大小,如(3, 4)。

  2. np.ones()
    指定大小的全1数组。注意:第一个参数是元组,用来指定大小,如(3, 4)。
    代码示例:

arr3 = np.ones((3,4))
print(arr3)

运行结果:

[[1. 1. 1. 1.]
 [1. 1. 1. 1.]
 [1. 1. 1. 1.]]
  1. np.empty()

    初始化数组,不是总是返回全0,有时返回的是未初始的随机值(内存里的随机值)

  2. np.arange() 和 reshape()
    arange() 类似 python 的 range() ,创建一个一维 ndarray 数组。
    reshape() 将 重新调整数组的维数。

示例代码:

# np.arange()
arr = np.arange(15) # 15个元素的 一维数组
print(arr)
print(arr.reshape(3, 5)) # 3x5个元素的 二维数组
print(arr.reshape(1, 3, 5)) # 1x3x5个元素的 三维数组

运行结果:

[0  1  2  3  4  5  6  7  8  9 10 11 12 13 14]

[[ 0  1  2  3  4]
 [ 5  6  7  8  9]
 [10 11 12 13 14]]

[[[ 0  1  2  3  4]
  [ 5  6  7  8  9]
  [10 11 12 13 14]]]
  1. np.arange() 和 random.shuffle()
    random.shuffle() 将打乱数组序列(类似于洗牌)。

示例代码:

arr = np.arange(15)
print(arr)

np.random.shuffle(arr)
print(arr)
print(arr.reshape(3,5))

运行结果:

[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14]

[ 5  8  1  7  4  0 12  9 11  2 13 14 10  3  6]

[[ 5  8  1  7  4]
 [ 0 12  9 11  2]
 [13 14 10  3  6]]
ndarray的数据类型
  1. dtype参数

指定数组的数据类型,类型名+位数,如float64, int32

  1. astype方法

转换数组的数据类型

示例代码(1、2):

# 初始化3行4列数组,数据类型为float64
zeros_float_arr = np.zeros((3, 4), dtype=np.float64)
print(zeros_float_arr)
print(zeros_float_arr.dtype)
# astype转换数据类型,将已有的数组的数据类型转换为int32
zeros_int_arr = zeros_float_arr.astype(np.int32)
print(zeros_int_arr)
print(zeros_int_arr.dtype)

运行结果:

[[ 0.  0.  0.  0.]
 [ 0.  0.  0.  0.]
 [ 0.  0.  0.  0.]]
float64

[[0 0 0 0]
 [0 0 0 0]
 [0 0 0 0]]
int32
Numpy——ndarray对象(1):创建数组 Numpy——ndarray对象(1)标准安装的Python中用列表( list )保存一组值,可以用来当作数组使用,不过由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针。这样为了保存一个简单的[1,2,3],需要有3个指针和三个整数对象。对于数值运算来说这种结构显然比较浪费内存和CPU计算时间。 此外Python还提供了一个 array 模块,array 对象和列表不同,它直接保存数 阅读详情

相关推荐

numpy(1)-numpy.ndarray

lass numpy.ndarray(shape, dtype=float, buffer=None, offset=0, strides=None, order=None) 数组对象表示由固定大小的项目组成的多维同构数组。关联的数据类型对象描述数组中每个元素的格式(字节顺序、占用内存的字节数、它是整数、浮点数还是其他什么,等等)。 数组应该使用数组、零或空来构造(参见下面的部分)。这里给出的参数...

The research on computer technolog 521

ndarray 多维数组

ndarray的随机创建通过随机抽样 (numpy.random) 生成随机数据。示例代码:# 导入numpy,别名np import numpy as np # 生成指定维度大小(3行4列)的随机多维浮点型数据(二维),rand固定区间0.0 ~ 1.0 arr = np.random.rand(3, 4) print(arr) print(type(arr)) # 生成指定维度大小(3行4...

Great Expectations的博客 427

保姆级教程:在Ubuntu 20.04上从零搞定ROS Noetic和RealSense驱动,为无人机开发铺路

本文提供了一份详细的Ubuntu 20.04环境下ROS Noetic和RealSense驱动安装指南,专为无人机开发环境搭建设计。从系统配置、ROS安装到RealSense驱动集成,涵盖所有关键步骤和常见问题解决方案,帮助开发者快速搭建自主空中机器人开发平台。

weixin_30329623的博客 65

ndarray 的创建及属性

在调用 zeros() 函数生成多维数组时,要注意传入的是一个元组,元组的各个元素指明了多维数组各个维度的大小。上面使用 arange() 函数生成的是一维数组,我们可以在生成一维数组后对其进行重塑,这样便可以得到多维数组。在上面的例子中,当我们明确指定元素类型时,虽然元素的类型为整型,但是由于明确指定了浮点型,所以得到的元素类型为浮点型。在上面的代码中,调用 reshape() 函数对生成的一维数组进行重塑,便得到一个 3 行 4 列的二维数组。由于我们创建的是一维数组,所以代码中得到的维度数为 1。

shiwei0813的博客 1196

模电学习笔记(十二)——跨阻放大器

模电学习笔记(十二) 跨阻放大器 跨组运算放大器是将电流信号转换成为电压信号,电流到电压增益基于反馈电阻。 设计目标: 输入 输出 带宽 电源 0A 100uA 0V 7V 20kHz 15V -15V 1.计算R1的值(增益电阻器) 2.计算C1的值满足电路带宽 ...

tang11081023的博客 2万+

Windows 10/11 下用 Docker 一键部署 CVAT 标注工具(附 WSL2 配置指南)

本文详细指导如何在Windows 10/11系统上,通过配置WSL2和Docker Desktop,实现CVAT标注工具的一键部署。内容涵盖从环境准备、Docker安装、CVAT服务启动到性能优化与安全配置的全流程,为计算机视觉开发者提供稳定高效的本地标注平台解决方案。

weixin_28839601的博客 461

Numpy-ndarray(Numpy库入门)

1. 导入numpy库并取别名为np (★☆☆)(提示: import … as …)2. 打印输出numpy的版本和配置信息 (★☆☆)(提示: np.__verison__, np.show_config)3. 创建长度为10的零向量 (★☆☆)(提示: np.zeros)print (Z)4. 获取数组所占内存大小 (★☆☆)(提示: size, itemsize)5. 怎么用命令行获取numpy add函数的文档说明?(★☆☆)(提示: np.info)

qq_55414382的博客 2009

TLS回调函数–一文看懂(详)

TLS回调函数 CTF RE

Joyce_hjll的博客 3716

NumPy常见的元素操作函数

ceil(): 向上最接近的整数,参数是 number 或 array floor(): 向下最接近的整数,参数是 number 或 array rint(): 四舍五入,参数是 number 或 array isnan(): 判断元素是否为 NaN(Not a Number),参数是 number 或 array multiply(): 元素相乘,参数是 number 或 ...

dnu50081的博客 628

斯坦福大学3D点云模型下载

本文整理了斯坦福大学10个经典的点云(pcd)及其模型(ply),方便日后使用,欢迎免费下载!

孙悟空 7733

华为云计算——FusionCompute创建虚拟机

华为云计算——FusionCompute创建虚拟机

jks212454的博客 3675

Python中返回数组的维度ndim()方法

【小白从小学Python、C、Java】 【Python-计算机等级考试二级】 【Python-数据分析】 Python中返回数组的维度 ndim()方法 选择题 以下python代码输出什么? import numpy as np a=np.array([[1,2,3],[4,5,6]]) print(a.ndim) A选项:2 B选项:3 C选项:6 D选项:0 答案 正确答案:A 欢迎大家转发,一起传播知识和正能量,帮助到更多人。期待大家提出宝贵改进建议,互相交流,收获更大。辛苦大家转发时.

liujingwei8610的专栏 2917

基于STM32、HAL库的RN8209D电能计量芯片驱动程序设计

/ 假设电压互感器变比为220V:0.5V,电流互感器变比为20A:5mA。// 电压ADC原始值。// 电流ADC原始值。// 有功功率(W)// 电能(kWh)

corlin6688的博客 469

Numpy Ndarray对象1

  标准安装的Python中用列表(list)保存一组值,可以用来当作数组使用,不过由于列表的元素可以是任何对象,因此列表中所保存的是对象的指 针。这样为了保存一个简单的[1,2,3],需要有3个指针和三个整数对象。对于数值运算来说这种结构显然比较浪费内存和CPU计算时间。  Python还提供了一个array模块,array对象和列表不同,它直接保存数值,和C语言的一维数组比较类似。但...

a201550的博客 189

YOLOv11涨点改进| TPAMI 2026 |独家创新首发、Conv改进篇| 引入LPM 局部先验特征增强模块,更加聚焦于目标区域并抑制背景干扰,助力目标检测、图像分割、图像恢复、图像增强有效涨点

🔥本文提出了一种改进YOLOv11网络的LPM(局部先验特征增强)模块,通过构建重要性图引导特征提取过程,使模型更聚焦目标区域并抑制背景干扰。LPM模块通过注意力机制强化关键区域信息,优化特征分布,提升小目标和复杂场景下的检测性能。实验表明,该模块在保持轻量结构的同时,显著提高了检测精度和鲁棒性。文章详细介绍了LPM的结构原理、核心代码实现方法,并提供了4种改进配置方案(yolov11n_LPM.yaml等),指导用户如何集成该模块到YOLOv11网络中。这些改进方案通过多阶段特征融合逐步强化细节表达.

Ai缝合怪、助力小伙伴高效发论文 127

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Numpy(1)—Numpy Ndarray对象、dtype、ndarray.ndim、ndarray.shape、ndarray.itemsize、

Numpy(1)——Numpy Ndarray对象、dtype、ndarray.ndim、ndarray.shape、ndarray.itemsize、

sunshine_boy1的博客 1199

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

NumPy库入门1——ndarray创建数组

[外链图片转存中…(img-Tk5S60Au-1590072886116)]

吃瓜小白鼠的博客 1778

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

python numpy array与ndarray_教程 | Python之Numpy ndarray 基本介绍 1

原标题:教程 | Python之Numpy ndarray 基本介绍 1 访问flyai.club,一键创建你的人工智能项目 知识点1 NumPy是什么NumPy(Numerical Python的简称)是Python数值计算最重要的基础包。大多数提供科学计算的包都是用NumPy的数组作为构建基础。知识点2 NumPy的优势NumPy可以高效处理大数组的数据,原因如下:1. NumPy是在一个连...

weixin_40008566的博客 315

Numpy学习(1):Ndarray 对象

numpy——ndarray对象

HoshinaKaori的博客 766

Numpy1--ndarray对象的创建

对象的创建 n维数组创建 nd.array(list,ndmin=n) numpy的ndarray 与 python原生list的区别 全部变成了字符串型,所以当只涉及 int float str的时候,其转换方向如下:int -->float–>str 当ndarray中的元素包含序列数据,比如列表 元组时就不会转换 Numpy的矢量化功能 a = [[1, 2, 3], [5,...

wlbonnie的博客 980

成功解决TypeError: bmm(): argument ‘input‘ (position 1) must be Tensor, not numpy.ndarray

成功解决TypeError: bmm(): argument ‘input’ (position 1) must be Tensor, not numpy.ndarray。

创作高质量博文,分享知识,共同进步! 1566

numpy.c_[ndarray1, ndarray2]和numpy.r_[ndarray1, ndarray2]

引入numpy数据函数库 import numpy as np 生成ndarray数组 a = np.array([[1, 2],[5, 6], [9, 10]]) 即a为: [[1, 2], [5, 6], [9, 10]] b = np.ones((2, 2)) 即b为: [[1, 1], [1, 1]] c = np.ones((3, 1)) 即c为: [[1], [1], [1]] 1、numpy.c_[ndarray1, ndarray2] np.c_[a, b] 输出:

刘先生倒了u的博客 362

[Numpy][初学笔记](1)Ndarray对象、dtype常见类型、Ndarray属性

在菜鸟教程学习Numpy,总结成笔记供日后复习,如有错误望不吝赐教 NumPy 最重要的一个特点是其 N 维数组对象 ndarray,ndarray 中的每个元素在内存中都有相同存储大小的区域,往往用来存放同类型的数据。 那么如何创建一个Ndarray对象? numpy.array( object, #数组或者嵌套的数列 dtype = None, #选择object的数据类型 ...

Johnlllee的博客 1535

Numpy入门(1)—ndarray数组基础

NumPy(Numerical Python的简称)是高性能科学计算和数据分析的基础包。构建神经网络模型时,通常会使用NumPy实现数据预处理和一些模型指标的计算,数据可以很方便的和ndarray数组进行相互转换。ndarray数组:一个具有矢量算术运算和复杂广播能力的多维数组,具有快速且节省空间的特点;对整组数据进行快速运算的标准数学函数(无需编写循环);线性代数、随机数生成以及傅里叶变换功能;读写磁盘数据、操作内存映射文件。

文盲青年的博客 2770

chapter.numpy1.1 ndarray多维数组

目录乍见之欢ndarray是什么创建ndarray数组ndarray数据类型转换久处不厌数组变换 乍见之欢 ndarray是什么 NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。 ndarray 对象是用于存放同类型元素的多维数组。 ndarray 中的每个元素在内存中都有相同存储大小的区域。ndarray对象是一个快速而灵活的数据集容器。 创建ndarray数组 通过numpy中的array函数就可以创建ndarra

Linkage interrupt 410

numpy学习 第1篇:ndarray 创建和索引

numpy是Python中用于科学计算的基础软件包,提供了多为数据组对象,用于对数据进行快速操作,包括数学,逻辑,形状处理,排序,选择,I / O ,离散傅立叶变换,基本线性代数,基本统计运算,随机模拟等等。 numpy包中最核心的类型是ndarray,定义了一个执行矢量算术运算的n维数组,无需编写循环,就能对整个数组进行批量运算。通常情况下,导入numpy,设置别名为np。 i...

albh81462的博客 1171
上一篇: python-数据分析理论
下一篇: Numpy-ndarray(2)
穷图陌�
博客等级 码龄8年 1粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值