尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

创建数组

创建数组
📅 发布时间:2026/6/20 19:23:39

创建数组

从一个Python列表创建
# 从一个Python列表创建一个NumPy数组,类型由序列中元素的类型推断出来,也可以显示指定
a = np.array([1, 2, 3])
print(a.dtype) # int64

将序列的序列转换成二维数组,将序列的序列的序列转换成三维数组,以此类推。

b = np.array([(1.5, 2, 3), (4, 5, 6)]) # array([[1.5, 2. , 3. ],[4. , 5. , 6. ]])
创建具有初始占位符内容的数组

当数组的元素最初是未知的,但它的大小是已知的。因此,NumPy提供了几个函数来创建具有初始占位符内容的数组。
函数zero创建了一个全是0的数组,函数ones创建了一个全是1的数组,函数empty创建了一个初始内容是随机的并且取决于内存状态的数组。默认情况下,创建的数组的dtype是float64,但可以通过关键字参数dtype指定

# zeros
np.zeros(5) # array([0., 0., 0., 0., 0.])# ones
In [5]: np.ones((2, 3, 4), dtype=np.int32)
Out[5]:
array([[[1, 1, 1, 1],[1, 1, 1, 1],[1, 1, 1, 1]],[[1, 1, 1, 1],[1, 1, 1, 1],[1, 1, 1, 1]]], dtype=int32)# empty
In [7]: np.empty((3,4))
Out[7]:
array([[6.23042070e-307, 4.22795269e-307, 2.04722549e-306,1.69119330e-306],[1.78022342e-306, 6.23058028e-307, 6.23053954e-307,1.42420481e-306],[1.11260144e-306, 6.89812281e-307, 2.22522596e-306,2.56765117e-312]])
采用arange方法创建

NumPy提供了类似于Python内置范围的range函数创建数字数组。

In [8]: np.arange(1,30,5)
Out[8]: array([ 1,  6, 11, 16, 21, 26])
创建与给定数组具有相同形状和数据类型的新数组
  • np.zeros_like:创建一个与给定数组形状和数据类型相同的全零数组。
  • np.ones_like:创建一个与给定数组形状和数据类型相同的全1数组。
  • np.empty_like:创建一个与给定数组形状和数据类型相同的未初始化数组。数组元素的值是任意的,取决于内存状态。
采用linspace方法创建

创建等差数列的重要函数,常用在科学计算和数据分析,可控制精确点数。
np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)

start 序列的起始值
stop 序列的结束值
num 要生成的样本数量,默认为50
endpoin 是否包含结束值,默认为True
retstep 是否返回步长,默认为False
dtype 输出数组的数据类型
axis 结果中存储样本的轴
  • 创建一个简单的等差数列
In [2]: import numpy as npIn [3]: a = np.linspace(0,10,5)
In [4]: a
Out[4]: array([ 0. ,  2.5,  5. ,  7.5, 10. ])
  • 创建一个等差数列并返回步长
In [5]: b,step = np.linspace(0,10,5,retstep=True)In [6]: b,step
Out[6]: (array([ 0. ,  2.5,  5. ,  7.5, 10. ]), np.float64(2.5))
随机数创建

语法 Generator.random(size=None, dtype=np.float64, out=None)

size: int或tuple,输出数组的形状
dtype:输出数组的数据类型,默认为 np.float64
out:可选的,输出数组 ndarray
# 创建随机数生成器
In [7]: rng = np.random.default_rng()# 生成一个 [0.0, 1.0) 之间的随机浮点数
In [8]: random_float = rng.random() # 默认为 np.float64 类型In [9]: random_float
Out[9]: 0.89943081731119# 生成包含10个随机数的一维数组
In [10]: random_array = rng.random(10)In [11]: random_array
Out[11]:
array([9.37007602e-01, 3.20858531e-01, 9.58271113e-01, 9.37409668e-04,2.49855936e-01, 5.56956313e-01, 4.78459777e-01, 5.92708808e-01,2.09545668e-01, 4.85111149e-01])In [12]: matrix_5x5 = rng.random((5, 5))# 生成 5x5 的随机数矩阵
In [13]: matrix_5x5
Out[13]:
array([[0.15535324, 0.56894049, 0.71843525, 0.54446539, 0.16631433],[0.05972329, 0.5339828 , 0.71235126, 0.97117199, 0.28307621],[0.8044999 , 0.65591557, 0.31056173, 0.44937086, 0.75963539],[0.64961746, 0.24723947, 0.59925782, 0.86691351, 0.68086718],[0.32167178, 0.1800425 , 0.52964554, 0.75313898, 0.76306256]])# 生成 2x3x4 的三维数组
In [14]: matrix_2x3x4 = rng.random((2, 3, 4))In [15]: matrix_2x3x4
Out[15]:
array([[[0.95554831, 0.70953019, 0.76770598, 0.34565478],[0.26464425, 0.55293666, 0.02472267, 0.10069571],[0.28477622, 0.03128256, 0.77540799, 0.38850104]],[[0.54266739, 0.94103595, 0.14819944, 0.16343703],[0.29918203, 0.96977251, 0.64921046, 0.65840519],[0.6204659 , 0.05597449, 0.12881609, 0.68961338]]])
生成正态分布(高斯分布)随机数

生成正态分布(高斯分布)随机数的函数,在统计学、机器学习和科学计算中广泛应用。
语法:Generator.normal(loc=0.0, scale=1.0, size=None)

loc:正态分布的均值(μ),float类型,默认值为0.0
scale:正态分布的标准差(σ),float类型,默认值为1.0
size:输出数组的形状,类型为int/tuple
其它方法

fromfunction:通过在每个坐标上执行指定的函数来构造数组
fromfile:从二进制或文本文件中读取数据并创建数组

备注:在以后的实践应用、阅读源码过程中进行深化理解。

相关新闻

  • linux db2 9.7
  • 2025年口碑好的水泵控制配电箱厂家最新TOP实力排行
  • 我发现凡是给offer的公司,面试时基本不问技术细节,那些问得又多又细的公司,后面基本就没下文了!

最新新闻

  • Ubuntu 14.04下WordPress XML-RPC四层防御实战
  • M2-PALE:融合过程挖掘与LLM的可解释混合智能体框架
  • Quanto量化实战:让Transformer在CPU/边缘设备高效运行
  • 基于流匹配与复值自编码器的脑肿瘤MRI生成式数据增强实战
  • 【技术干货】AI应用构建器实战:用大模型规划并生成创作者赞助管理后台
  • Ubuntu 20.04 安装 TensorFlow 的三大兼容性陷阱与生产级解决方案

日新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号