ndarray 的创建及属性

【Python numpy】创建Ndarray数组对象 NumPy(Numerical Python)是Python科学计算中一个重要的库,它提供了高性能的多维数组对象(ndarray)和丰富的数学函数,使得科学计算和数据分析更加便捷和高效。NumPy的核心是ndarray,这是一个多维数组对象,用于存储和操作大量数据。本文将介绍如何创建ndarray数组对象,为你提供一个入门到NumPy的基础。参数说明:object:可以是Python列表、元组、其他序列对象,或者其他支持数组接口的对象。这是创建数组的输入数据。 阅读详情

1. ndarray 的创建及获取属性

上节课我们有提到过 ndarray 的创建,我只需要将列表传入到 np.array() 函数中。例如:

import numpy as np

my_list = [1, 2, 3, 4, 5, 6]
my_arr = np.array(my_list)
print(my_arr)

ndarray 创建完成后,我们可以查看 ndarray 的属性。

1.1 查看类型

1.1.1 查看 ndarray 的类型。

import numpy as np

my_list = [1, 2, 3, 4, 5, 6]
my_arr = np.array(my_list)
print(type(my_arr))

由于类型为 ndarray,所以代码中得到的类型为 <class 'numpy.ndarray'>

1.1.2 查看 ndarray 中元素的类型

import numpy as np

my_list = [1, 2, 3, 4, 5, 6]
my_arr = np.array(my_list)
print(my_arr.dtype)

1.2 查看维度信息

1.2.1 查看维度数

import numpy as np

my_list = [1, 2, 3, 4, 5, 6]
my_arr = np.array(my_list)
print(my_arr.ndim)

由于我们创建的是一维数组,所以代码中得到的维度数为 1。

1.2.2 查看数组大小

import numpy as np

my_list = [1, 2, 3, 4, 5, 6]
my_arr = np.array(my_list)
print(my_arr.size)

由于数组中包含 6 个元素,所以代码中得到的数组大小为 6。

1.2.3 查看各维度大小

import numpy as np

my_list = [1, 2, 3, 4, 5, 6]
my_arr = np.array(my_list)
print(my_arr.shape)

由于我们创建的是一维数组,所以代码中得到的结果为 (6,)。

1.3 查看元素信息

1.3.1 查看元素占用的存储空间

import numpy as np

my_list = [1, 2, 3, 4, 5, 6]
my_arr = np.array(my_list)
print(my_arr.itemsize)

由于元素的类型为 int64,所以占用的存储空间为 8 个字节。上面讲的是一维数组的创建及数组属性的获取,下面来讲下二维数组。创建方法以及属性的获取都和一维数组一样,所以就不一一详细介绍了,只是把代码列出,同学们可以运行代码感受下。

import numpy as np

my_list = [[1.1, 2.2, 3.3], [4.4, 5.5, 6.6]]
my_arr = np.array(my_list)
print(type(my_arr))

import numpy as np

my_list = [[1.1, 2.2, 3.3], [4.4, 5.5, 6.6]]
my_arr = np.array(my_list)
print(my_arr.dtype)

import numpy as np

my_list = [[1.1, 2.2, 3.3], [4.4, 5.5, 6.6]]
my_arr = np.array(my_list)
print(my_arr.ndim)

在创建数组时,我们还可以明确指定元素的类型,例如:

import numpy as np

my_list = [[1, 2, 3], [4, 5, 6]]
my_arr = np.array(my_list, dtype = 'float64')
print(my_arr.dtype)

在上面的例子中,当我们明确指定元素类型时,虽然元素的类型为整型,但是由于明确指定了浮点型,所以得到的元素类型为浮点型。

2. 使用函数创建 ndarray

前面创建 ndarray 的方法是将列表传入到函数 array() 中。除此之外,我们还可以使用函数来创建 ndarray。

2.1 arange 函数

arange 函数根据指定的范围以及设定的步长,生成一个 ndarray。

import numpy as np

my_arr = np.arange(0, 12)
print(my_arr)

上面的代码创建了一个包含 12 个元素的 ndarray,元素从 0 开始,到 11 结束,[ 0 1 2 3 4 5 6 7 8 9 10 11]。在使用 arange() 函数,当我们不指定步长时,默认的步长为 1。当然,我们亦可以明确指定步长。例如:

import numpy as np

my_arr = np.arange(0, 12, 3)
print(my_arr)

当我们指定步长为 3 时,生成的 ndarray 为 [0 3 6 9]。arange() 函数的参数不但可以为整数,还可以为小数。例如:

import numpy as np

my_arr = np.arange(0, 6, 0.6)
print(my_arr)

上面的代码生成了数组 [0. 0.6 1.2 1.8 2.4 3. 3.6 4.2 4.8 5.4]。上面使用 arange() 函数生成的是一维数组,我们可以在生成一维数组后对其进行重塑,这样便可以得到多维数组。例如:

import numpy as np

my_arr = np.arange(0, 12).reshape(3, 4)
print(my_arr)

在上面的代码中,调用 reshape() 函数对生成的一维数组进行重塑,便得到一个 3 行 4 列的二维数组。

2.2 linspace 函数

linspace 函数用于在线性空间中以均匀步长生成 ndarray。

import numpy as np

my_arr = np.linspace(0, 10, 5)
print(my_arr)

上述代码对区间 [0, 10] 进行 5 等分,取每个分界点的数字组成数组,便得到一维数组 [ 0. 2.5 5. 7.5 10. ]。

2.3 zeros 函数

zeros 函数生成一个给定形状和类型的用 0 填充的 ndarray。

import numpy as np

my_arr = np.zeros(6)
print(my_arr)

上述代码生成一个 6 个 0 的一维数组 [0. 0. 0. 0. 0. 0.]。

import numpy as np

my_arr = np.zeros((2, 3))
print(my_arr)

上述代码生成一个 2 行 3 列的二维数组,[[0. 0. 0.][0. 0. 0.]],数组的元素全为 0。在调用 zeros() 函数生成多维数组时,要注意传入的是一个元组,元组的各个元素指明了多维数组各个维度的大小。

2.4 ones 函数

ones() 函数和 zeros() 函数类似,只不过生成的数组中的元素全为 1。

import numpy as np

my_arr = np.ones(6)
print(my_arr)

上述代码生成一个 6 个 1 的一维数组 [1. 1. 1. 1. 1. 1.]。

import numpy as np

my_arr = np.ones((2, 3))
print(my_arr)

上述代码生成一个 2 行 3 列的二维数组,[[1. 1. 1.][1. 1. 1.]],数组的元素全为 1。

2.5 random() 函数

我们可以使用 random() 函数来生成元素大小为随机的 ndarray。

import numpy as np

my_arr = np.random.random(3)
print(my_arr)

上面代码生成一个元素大小随机的一维数组 [0.56733043 0.49110822 0.87588511]。使用 random() 函数同样可以生成二维数组。

import numpy as np

my_arr = np.random.random((2, 3))
print(my_arr)

NumPy数据分析基础:ndarray属性查看、创建及输出各类操作详解 作为数据分析三巨头Pandas、matplotlib、NumPy之一,必然要给足面子单独拿出来讲解一波。NumPy应用场景十分宽泛,Pandas很多函数转换后也都是NumPy数组类型的数据结构。在机器学习、深度学习以及一些数据处理操作中使用的频率甚至比Pandas都高。而且NumPy功能强大,使用起来也十分便捷,支持多种复杂操作。平时我的Pandas以及一些机器学习的文章都有用到NumPy,但是博客内容并没有详细解答NumPy的操作也没有记录有关NumPy操作的一些具体函数解答。 阅读详情

相关推荐

Viobot使用教程总贴

使用教程总贴

weixin_66666206的博客 1408

Numpy系统学习(三)创建Ndarray数组对象

学习创建Numpy数组的各种各样的函数方法

专注于人工智能的算法与应用 2720

Zynq远程更新程序实战:从emmc到flash的完整方案解析

本文详细解析了Zynq远程更新程序的完整方案,重点探讨了从emmc到flash的实战操作。通过硬件连接限制破解、emmc配置技巧、flash擦写策略优化等关键技术点,提供了可靠的远程更新解决方案,特别适合需要频繁更新boot.bin的应用场景。

weixin_29163797的博客 179

【Python数据科学快速入门系列 | 02】创建ndarray对象的十多种方法

创建ndarray对象的十多种方法

机器未来的博客 2625

YOLOv13零基础手把手教程:在 YOLOv13 中集成 SFSConv,YOLOv13让目标检测更上一层楼

YOLOv13本教程详细介绍了如何在YOLOv13中集成SFSConv模块以提升目标检测性能。YOLOv13 SFSConv创新性地结合了分数伽柏滤波和分数傅里叶变换,通过空间处理单元(SPU)和频率处理单元(FPU)解耦处理特征。实验表明,该模块可使准确率提升5.21%,mAP提高11.45%。教程从原理分析到代码实现,系统讲解了SFSConv的数学基础、模块设计,并提供了在YOLOv13中集成该模块的详细步骤,包括配置文件修改、核心代码实现等。

FJN110的博客 2175

【WRF-UCM】BEP+BEM 模拟:README

【WRF-UCM】BEP+BEM 模拟:README

WW、forever的博客 222

NumPy(第一集:创建ndarray的几种方式)

NumPy创建ndarray的几种方式

MMF博客园 683

Android系统解决-授予管理所有文件的权限问题

Android版本一直在加,Android9/Android10/Android11/Android12/Android13/Android14/Android15 , 客户app 也在不断适配,但是存在特别是定制产品中,客户不愿意适配,啥问题都让系统解决,绕过一定机制、实现。这里说的就是一个常见的常见需求:Android13 上面,客户要求默认授予管理所有文件的权限,如下:问题是机器重启后这个权限仍需要重新打开才行,那就是每次开机使用某些功能前都需要授权一次。是的ADB对应命令。

十年饮冰,难凉热血 2532

numpy库(一):创建ndarray数组

1 Numpy预备基础知识: 1.1 Numpy数据类型: 1.2 Numpy数组属性: 1.2.1 各个属性的具体演示 import numpy as np #引入numpy库 a = np.array([[1,2,3],[4,5,6],[7,8,9]]) print(a) #输出ndarray数组 print("数组a...

q2511130633的博客 4254

扣子Coze触发器使用指南:实现工作流定时执行的完整教程

Coze平台触发器功能详解:定时触发器配置指南 摘要:Coze平台的触发器是实现自动化任务的核心组件,其中定时触发器能够按预设时间自动执行工作流。本指南介绍了定时触发器的配置方法,包括每日、每周、每月及Cron表达式等多种时间设置方式,以及如何关联工作流执行具体任务。文章还提供了健身提醒等实用案例,并涵盖了触发器调试、发布及常见问题解决方案。通过合理配置定时触发器,用户可以轻松实现各类自动化任务,如定时发送消息、数据采集等,大幅提升工作效率。

互联网架构师笔记 1922

使用ESP32设计嵌入式蓝牙游戏手柄

通过使用ESP32开发板和相关的库,我们可以设计和实现嵌入式蓝牙游戏手柄。连接到该设备后,您可以使用控制器模块的按钮和摇杆等元件来模拟游戏手柄的输入。根据您使用的具体模块和引脚分配,连接按钮和摇杆等控制元件到ESP32的GPIO引脚。ESP32是一款功能强大的微控制器,集成了Wi-Fi和蓝牙功能,非常适合用于开发物联网和嵌入式应用。请注意,本文仅提供了一个基于ESP32的嵌入式蓝牙游戏手柄设计示例,具体实现可能因硬件和需求而有所不同。确保开发板正确连接到计算机,并选择正确的开发板和端口。

CodeMaven的博客 1642

第二章 ndarray的创建及属性

NumPy入门教程 第一章 NumPy 介绍 第二章 ndarray的创建及其属性 第三章 ndarray的基本操作 第四章 ndarray的索引、切片和遍历 第五章 ndarray的重塑、组合和拆分 第六章 用于ndarray的文件操作 第七章 ndarray的赋值、视图、拷贝和广播 目录NumPy入门教程前言一、ndarray 的创建及获取属性1.查看类型1.1查看 ndarray 的类型1.2查看 ndarray 中元素的类型2.查看维度信息2.1查看维度数2.2查看数组大小2.3查看各维度大小3.

Python 自习室 1500

Halcon那些事:Halcon缺陷检测检测印刷数字完整性

创建模板 create_shape_model模板匹配 find_shape_model。

十多年IT经验,专注机器视觉,智能制造半导体行业 764

Numpy知识详解之ndarray的创建及属性操作

Numpy知识详解之ndarray的创建及属性操作 1.ndarry的创建方式 (1)使用np.array(可以放任意能够转化的结构,如元组、列表等)方式 # 1.使用np.array(可以放可以任意能够转化的结构,如元组、列表等)方式 arr = np.array([1,2,3,4,5]) print(arr) # 输出结果:[1 2 3 4 5] print(type(arr)) # 输出结果:<class 'numpy.ndarray'> (2)np.range(开始值,结束值,步长),

m0_47209867的博客 2138

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Python-numpy中ndarray对象创建,数据类型,基本属性

Python-numpy中ndarray对象创建,数据类型,基本属性

weixin_48668114的博客 1330

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

ndarray对象怎样创建?ndarray基本属性列举

通过 arange()函数可以创建一个等差数组,它的功能类似于 range()函数,但是range()函数返回的结果是数组而非列表。当使用print()函数打印二维数组时,numpy会以类似于嵌套列表的形式显示不同维度的数组打印方式有所不同,一维数组按行打印,二维数组打印为矩阵,三维数组打印为矩阵列表,且矩阵列表具有以下布局。arr 2d =np.array([[10,12,13],[0,2,3]]) #创建二维数组。np.arange(1,16,2) #创建等差数组。

CZ-001的博客 382

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

怎样创建ndarray对象?ndarray基本属性列举

numpy中包含一个N维数组对象,即ndarray对象,该对象具有矢量算术能力和复杂的广播能力,常用于科学计算。创建ndarray对象的方式有很多种,关于这些函数的说明如表所示。通过 arange()函数可以创建一个等差数组,它的功能类似于 range()函数,但是range()函数返回的结果是数组而非列表。当使用print()函数打印二维数组时,numpy会以类似于嵌套列表的形式显示不同维度的数组打印方式有所不同,一维数组按行打印,二维数组打印为矩阵,三维数组打印为矩阵列表,且矩阵列表具有以下布局。

zy1992As的博客 268

Numpy库(一):ndarray的创建与常用属性

记录了使用Numpy库的最基础的内容,如创建数组、初始化特定的矩阵等

JasonLi的博客 1774

5.科学计算模块Numpy(2)随机数的生成和ndarray属性及其创建方式

通过上一篇4.科学计算模块Numpy(1)概述与初始操作-优快云博客,我们已经了解了Numpy的概念和Numpy数组的创建,今天我们来介绍一下Numpy模块中随机数的生成和ndarray属性及其创建方式。

dxyl632956的博客 1490

NumPy ndarray对象完全指南:创建、属性与方法详解

NumPy是Python科学计算的基础库,其核心是ndarray(N-dimensional array,N维数组)对象。相比于Python列表,ndarray提供了更高效的多维数组操作。print(f"NumPy版本: {np.__version__}")函数描述常用参数示例np.array()从Python序列创建objectdtypecopy创建数值范围startstopstep线性间隔数组startstopnum对数间隔数组startstopnumbasenp.zeros()全零数组。

m0_74961596的博客 532

Numpy学习笔记1——ndarray数组的属性、类型、创建、变换

ndarry对象属性和类型 import numpy as np N维数组对象:ndarray 使用np.array()生成一个ndarray数组 ndarray数组的创建和变换

背离赤道、逆光而行 487

NumPy中ndarray类型属性、创建和变换

Recommend: First,I highly recommend 嵩天's classes which is pretty good for guys like us . Yeah,I have learn a lot from that gentle and tender young man . So,come and learn python with us . ...

liuyishou 609

02 ndarray的属性 、ndarray的基本操作(索引、切片、变形、连接、切分、副本)、聚合操作、矩阵操作、排序、Panda数据结构、Series创建、索引与切片、属性与方法、运算

二、ndarray的属性 4个必记参数: ndim:维度 shape:形状(各维度的长度) size:总长度 dtype:元素类型 import matplotlib.pyplot as plt ndarr = plt.imread("./jin.png") plt.imshow(ndarr) # 接下来展示的是几个属性 ndarr.ndim # 多少个维度 ndarr.shape # 形状 2...

DayDayUp 1241

如何创建numpy数组、ndarray属性

如何创建numpy数组 import numpy as np #导入Numpy工具包 data=np.arange(9).reshape(3,3) #创建一个3行3列数组 data #输出data 结果图: 数组的常用属性: data.ndim #数组的维度个数 data.size #数组的元素个数 data.shape #数组的维度 data.dtype #数组的元素类型 结果图: ...

qq_45305174的博客 681
上一篇: ndarray的赋值、视图、拷贝和广播
下一篇: 猿如意【PyCharm Professional】开发工具的安装与使用教程,教科书式内容超详细哟。
芯动大师
芯动大师 新星创作者: 嵌入式与硬件开发技术领域 新星创作者: 嵌入式与硬件开发技术领域
博客等级 码龄8年 3236粉丝 549原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芯动大师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值