百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python NumPy 创建数组(numpy创建数组arange)

off999 2024-10-24 12:31 12 浏览 0 评论

使用Numpy内部功能函数

Numpy具有用于创建数组的内置函数。以下是一些例子。

创建一个一维的数组

首先,让我们创建一维数组。arange是一种广泛使用的函数,用于快速创建数组。将值20传递给arange函数会创建一个值范围为0到19的数组。

import Numpy as np
array = np.arange(20)
array

输出:

array([0, 1, 2, 3, 4,
 5, 6, 7, 8, 9,
 10, 11, 12, 13, 14,
 15, 16, 17, 18, 19])

要验证此数组的维度,请使用shape属性。

array.shape

输出:

(20,)

由于逗号后面没有值,因此这是一维数组。 要访问此数组中的值,请指定非负索引。 与其他编程语言一样,索引从零开始。 因此,要访问数组中的第四个元素,请使用索引3。

array[3]

输出:

3

Numpy的数组是可变的,这意味着你可以在初始化数组后更改数组中元素的值。 使用print函数查看数组的内容。

array[3] = 100
print(array)

输出:

[ 0 1 2 100
 4 5 6 7
 8 9 10 11
 12 13 14 15
 16 17 18 19]

与Python列表不同,Numpy数组的内容是同质的。 因此,如果你尝试将字符串值分配给数组中的元素,其数据类型为int,则会出现错误。

array[3] ='Numpy'

输出:

ValueError: invalid literal for int() with base 10: 'Numpy'

创建一个二维数组

如果只使用arange函数,它将输出一维数组。 要使其成为二维数组,请使用reshape函数将其输出。

array = np.arange(20).reshape(4,5)
array

输出:

array([[ 0, 1, 2, 3, 4],
 [ 5, 6, 7, 8, 9],
 [10, 11, 12, 13, 14],
 [15, 16, 17, 18, 19]])

首先,将创建20个整数,然后将数组转换为具有4行和5列的二维数组。 我们来检查一下这个数组的维数。

(4, 5)

由于我们得到两个值,这是一个二维数组。 要访问二维数组中的元素,需要为行和列指定索引。

array[3][4]

输出:

19

创建三维数组及更多维度

要创建三维数组,请为重塑形状函数指定3个参数。

array = np.arange(27).reshape(3,3,3)
array

输出:

array([[[ 0, 1, 2],
 [ 3, 4, 5],
 [ 6, 7, 8]],
 [[ 9, 10, 11],
 [12, 13, 14],
 [15, 16, 17]],
 [[18, 19, 20],
 [21, 22, 23],
 [24, 25, 26]]])

需要注意的是:数组中元素的数量(27)必须是其尺寸(3 * 3 * 3)的乘积。 要交叉检查它是否是三维数组,可以使用shape属性。

array.shape

输出:

(3, 3, 3)

此外,使用arange函数,你可以创建一个在定义的起始值和结束值之间具有特定序列的数组。

np.arange(10, 35, 3)

输出:

array([10, 13, 16, 19, 22, 25, 28, 31, 34])

使用其他Numpy函数创建数组

除了arange函数之外,你还可以使用其他有用的函数(如 zeros 和 ones)来快速创建和填充数组。

使用zeros函数创建一个填充零的数组。函数的参数表示行数和列数(或其维数)。

np.zeros((2,4))

输出:

array([[0., 0., 0., 0.],
 [0., 0., 0., 0.]])

使用ones函数创建一个填充了1的数组。

np.ones((3,4))

输出:

array([[1., 1., 1., 1.],
 [1., 1., 1., 1.],
 [1., 1., 1., 1.]])

empty函数创建一个数组。它的初始内容是随机的,取决于内存的状态。

np.empty((2,3))

输出:

array([[0.65670626, 0.52097334, 0.99831087],
 [0.07280136, 0.4416958 , 0.06185705]])

full函数创建一个填充给定值的n * n数组。

np.full((2,2), 3)

输出:

array([[3, 3],
 [3, 3]])

eye函数可以创建一个n * n矩阵,对角线为1s,其他为0。

np.eye(3,3)

输出:

array([[1., 0., 0.],
 [0., 1., 0.],
 [0., 0., 1.]])

函数linspace在指定的时间间隔内返回均匀间隔的数字。 例如,下面的函数返回0到10之间的四个等间距数字。

np.linspace(0, 10, num=4)

输出:

array([ 0., 3.33333333, 6.66666667, 10.])

从Python列表转换成NumPy数组

除了使用Numpy函数之外,你还可以直接从Python列表创建数组。将Python列表传递给数组函数以创建Numpy数组:

array = np.array([4,5,6])
array

输出:

array([4, 5, 6])

你还可以创建Python列表并传递其变量名以创建Numpy数组。

list = [4,5,6]
list

输出:

[4, 5, 6]
array = np.array(list)
array

输出:

array([4, 5, 6])

你可以确认变量array和list分别是Python列表和Numpy数组。

type(list)

list

type(array)

Numpy.ndarray

要创建二维数组,请将一系列列表传递给数组函数。

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

输出:

array([[1, 2, 3],
 [4, 5, 6]])
array.shape

输出:

(2, 3)

本文参照 NumPy 中文文档:https://www.numpy.org.cn/article/basics/different_ways_create_numpy_arrays.html整理。

相关推荐

每天一个 Python 库:datetime 模块全攻略,时间操作太丝滑!

在日常开发中,时间处理是绕不开的一块,比如:生成时间戳比较两个时间差转换为可读格式接口传参/前端展示/日志记录今天我们就用一个案例+代码+思维导图,带你完全搞定datetime模块的用法!...

字节跳动!2023全套Python入门笔记合集

学完python出来,已经工作3年啦,最近有很多小伙伴问我,学习python有什么用其实能做的有很多可以提高工作效率增强逻辑思维还能做爬虫网站数据分析等等!!最近也是整理了很多适合零基...

为什么你觉得Matplotlib用起来困难?因为你还没看过这个思维导图

前言Matplotlib是一个流行的Python库,可以很容易地用于创建数据可视化。然而,设置数据、参数、图形和绘图在每次执行新项目时都可能变得非常混乱和繁琐。而且由于应用不同,我们不知道选择哪一个图...

Python新手必看!30分钟搞懂break/continue(附5个实战案例)

一、跳转语句的使命当程序需要提前结束循环或跳过特定迭代时,break和continue就是你的代码急刹按钮和跳步指令。就像在迷宫探险中:break=发现出口立即离开continue=跳过陷阱继续前进二...

刘心向学(24)Python中的数据类(python中5种简单的数据类型)

分享兴趣,传播快乐,增长见闻,留下美好!亲爱的您,这里是LearningYard新学苑。今天小编为大家带来文章“刘心向学(24)Python中的数据类”欢迎您的访问。Shareinterest,...

刘心向学(25)Python中的虚拟环境(python虚拟环境安装和配置)

分享兴趣,传播快乐,增长见闻,留下美好!亲爱的您,这里是LearningYard新学苑。今天小编为大家带来文章“刘心向学(25)Python中的虚拟环境”欢迎您的访问。Shareinte...

栋察宇宙(八):Python 中的 wordcloud 库学习介绍

分享乐趣,传播快乐,增长见识,留下美好。亲爱的您,这里是LearingYard学苑!今天小编为大家带来“Python中的wordcloud库学习介绍”欢迎您的访问!Sharethefun,...

AI在用|ChatGPT、Claude 3助攻,1分钟GET高颜值思维导图

机器之能报道编辑:Cardinal以大模型、AIGC为代表的人工智能浪潮已经在悄然改变着我们生活及工作方式,但绝大部分人依然不知道该如何使用。因此,我们推出了「AI在用」专栏,通过直观、有趣且简洁的人...

使用DeepSeek + Python开发AI思维导图应用,非常强!

最近基于Deepseek+PythonWeb技术开发了一个AI对话自动生成思维导图的应用,用来展示下如何基于低门槛的Python相关技术栈,高效结合deepseek实现从应用场景到实际应用的快速落地...

10幅思维导图告诉你 - Python 核心知识体系

首先,按顺序依次展示了以下内容的一系列思维导图:基础知识,数据类型(数字,字符串,列表,元组,字典,集合),条件&循环,文件对象,错误&异常,函数,模块,面向对象编程;接着,结合这些思维导图主要参考的...

Python基础核心思维导图,让你轻松入门

Python基础核心思维导图【高清图文末获取】学习路线图就给大家看到这里了,需要的小伙伴下方获取获取方式看下方图片...

Python基础核心思维导图,学会事半功倍

Python基础核心思维导图【高清图文末获取】学习路线图就给大家看到这里了,需要的小伙伴下方获取获取方式看下方图片...

硬核!288页Python核心知识笔记(附思维导图,建议收藏)

今天就给大家分享一份288页Python核心知识笔记,相较于部分朋友乱糟糟的笔记,这份笔记更够系统地总结相关知识,巩固Python知识体系。文末获取完整版PDF该笔记学习思维导图:目录内容展示【领取方...

Python学习知识思维导图(高效学习)

Python学习知识思维导图python基础知识python数据类型条件循环列表元组字典集合字符串序列函数面向对象编程模块错误异常文件对象#python##python自学##编程#...

别找了!288页Python核心知识笔记(附思维导图,建议收藏)

今天就给大家分享一份288页Python核心知识笔记,相较于部分朋友乱糟糟的笔记,这份笔记更够系统地总结相关知识,巩固Python知识体系。文末获取完整版PDF该笔记学习思维导图:目录内容展示【领取方...

取消回复欢迎 发表评论: