NumPy库中的ndarray对象——ndarray的创建

本文详细介绍了NumPy库中ndarray的创建过程,特别强调了NumPy提供的专用函数如np.arange、np.linspace、np.logspace等,以及numpy.empty、numpy.zeros、numpy.ones和它们类似函数的区别。
摘要由CSDN通过智能技术生成

ndarray的创建

在NumPy中的核心对象就是ndarray,NumPy函数库里的所有函数都是围绕ndarray展开的。

我们可以将ndarray看作是数组,类似于向量或矩阵。

比如,我们看一下以下几行代码及其运行结果

在这里,np.array(),括号里边既可以是list类型、也可以是tupe类型,而nd.array展示的结果就是一个向量或矩阵。

nd.array对维数没有限制。

但是我们这样看ndarray好像是一个画蛇添足的把戏,不就是对于列表和元组换了一个书写形式嘛,甚至感觉还更麻烦了一些。如果你这样觉得,那就大low特low了!

NumPy库最具有魅力的地方在于它提供了专门生成ndarray的函数,提高了创建ndarray的速度。

我们看以下几行代码

a = np.arange(0, 1, 0.1)
b = np.linspace(0, 1, 10)
c = np.linspace(0,1,10,endpoint=False)
d = np.logspace(0,2,5)            

运行结果:

所以我们可以看到ndarray可以比较简洁地创造一些具有数学特性的数组。

那么这些NumPy具体创建数组的方法就给大家放到这里了:

1、numpy.empty

用来创造一个指定形状(shape)、数据类型(dtype)且未初始化的数组:

numpy.empty(shape, dtype = float, order = 'C')

这里的order什么意思呢~它表示(下边几个order也是这个含义)

有"C"和"F"两个选项,分别代表,行优先和列优先,在计算机内存中的存储元素的顺序。

2、numpy.zeros

创建指定大小的数组,数组元素用0来填充:

numpy.zeros(shape, dtype = float, order = 'C')

3、numpy.ones

创建指定形状的数组,数组元素用1来填充。

4、numpy.zeros_like

numpy.zeros_like 用于创建一个与给定数组具有相同形状的数组,数组元素以 0 来填充。

numpy.zeros 和 numpy.zeros_like 都是用于创建一个指定形状的数组,其中所有元素都是 0。

它们之间的区别在于:numpy.zeros 可以直接指定要创建的数组的形状,而 numpy.zeros_like 则是创建一个与给定数组具有相同形状的数组。

import numpy as np
 
# 创建一个 3x3 的二维数组
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
 
# 创建一个与 arr 形状相同的,所有元素都为 0 的数组
zeros_arr = np.zeros_like(arr)
print(zeros_arr)

5、numpy.ones_like

numpy.ones_like 用于创建一个与给定数组具有相同形状的数组,数组元素以 1 来填充。

numpy.ones 和 numpy.ones_like 都是用于创建一个指定形状的数组,其中所有元素都是 1。

它们之间的区别在于:numpy.ones 可以直接指定要创建的数组的形状,而 numpy.ones_like 则是创建一个与给定数组具有相同形状的数组。

6、np.full(4,np,pi):

创建长度为4,值全部为pi的矩阵

7、np.eye(3):

创建3*3的单位阵

  • 20
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值