当前位置: 首页 > news >正文

创建数组

创建数组

从一个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:从二进制或文本文件中读取数据并创建数组

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

http://www.rkmt.cn/news/54020.html

相关文章:

  • linux db2 9.7
  • 2025年口碑好的水泵控制配电箱厂家最新TOP实力排行
  • 我发现凡是给offer的公司,面试时基本不问技术细节,那些问得又多又细的公司,后面基本就没下文了!
  • 2025年知名的耐草酸涂料厂家最新用户好评榜
  • 2025年热门的三维调节缓冲托底轨厂家推荐及选购参考榜
  • 虚假新闻检测——赵
  • Solon AI 开发学习 - 2chat - Hello World
  • 基于Simulink实现卡尔曼滤波
  • 2025年比较好的大功率空压机TOP实力厂家推荐榜
  • 2025 最新推荐!香港保健品 OEM 厂家权威榜单:严选实力厂家,天然/有机/草本/膳食补充剂/一站式服务品质保障专业/优质香港保健品 OEM 公司推荐
  • SightAI 已集成 Google Gemini 3 - sight
  • 2025年靠谱的智能垃圾桶垃圾袋用户口碑最好的厂家榜
  • 北京口碑好的涉外离婚律师服务解析及专业团队推荐
  • linux c调用shell
  • 2025年11月天文馆厂家推荐榜:权威评测与综合对比分析指南
  • 伊克罗德信息连获三重国际认证,以标准化服务体系护航客户数智化转型
  • 解决 Android Studio 卡在 Install Android SDK Platform xxx 问题(importing xxx gradle project)
  • zabbix6.0+grafana12.2
  • python 压缩图标大小
  • 2025年知名的真空加热炉用户口碑最好的厂家榜
  • 2025年知名的骨料散装设备实力厂家TOP推荐榜
  • 2025年热门的垃圾站用户信赖度权威榜
  • 【第4章 面向对象】Python 的 GC(垃圾回收)机制与触发时机
  • MySQL高级技术体系:从复杂检索到自动化管理的实战指南
  • linux c语言环境
  • 2025年口碑好的单螺旋压榨机优质厂家推荐榜单
  • 2025 企业可观测平台选型实操指南:一文搞懂可观测价值与选型逻辑
  • 2025年11月生成式引擎优化热度榜:基于多源数据的十大机构排行榜单
  • .bashrc 文件高级用法
  • 特殊数学符号记录