numpy中的zeros(),ones()函数

本文详细介绍了numpy库中的zeros和ones函数的使用方法,包括如何创建全0或全1的多维数组,以及如何指定数组的大小、元素类型等参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

numpy中的zeros(),ones()这两个函数用法很相似,所以就一起写了。

zeros()返回一个全0的n维数组,一共有三个参数:shape(用来指定返回数组的大小)、dtype(数组元素的类型)、order(是否以内存中的C或Fortran连续(行或列)顺序存储多维数据)。后两个参数都是可选的,一般只需设定第一个参数。

Examples:

>>> np.zeros(5)
array([ 0.,  0.,  0.,  0.,  0.])

>>> np.zeros((5,), dtype=np.int)
array([0, 0, 0, 0, 0])

>>> np.zeros((2, 1))
array([[ 0.],
       [ 0.]])

>>> s = (2,2)
>>> np.zeros(s)
array([[ 0.,  0.],
       [ 0.,  0.]])

>>> np.zeros((2,), dtype=[('x', 'i4'), ('y', 'i4')]) # custom dtype
array([(0, 0), (0, 0)],
      dtype=[('x', '<i4'), ('y', '<i4')])

注:第三个例子np.zeros((2, 1))这种情况下有两层括号。


ones()返回一个全1的n维数组,同样也有三个参数:shape(用来指定返回数组的大小)、dtype(数组元素的类型)、order(是否以内存中的C或Fortran连续(行或列)顺序存储多维数据)。后两个参数都是可选的,一般只需设定第一个参数。和zeros一样

Examples:

>>> np.ones(5)
array([ 1.,  1.,  1.,  1.,  1.])

>>> np.ones((5,), dtype=np.int)
array([1, 1, 1, 1, 1])

>>> np.ones((2, 1))
array([[ 1.],
       [ 1.]])

>>> s = (2,2)
>>> np.ones(s)
array([[ 1.,  1.],
       [ 1.,  1.]])

NumPy是Python中用于处理大型数组和矩阵的核心库,提供了高效的数学函数和操作。以下是一些主要的NumPy函数用法: 1. **创建数组**: - `numpy.array()`: 将列表、元组或其他序列转换为NumPy数组。 - `numpy.zeros()`: 创建指定形状的全零数组。 - `numpy.ones()`: 创建指定形状的全一数组。 - `numpy.empty()`: 创建给定形状但未初始化的内存块。 2. **基本操作**: - `numpy.add(a, b)`, `a + b`: 数组相加。 - `numpy.subtract(a, b)`, `a - b`: 数组相减。 - `numpy.multiply(a, b)`, `a * b`: 数组相乘。 - `numpy.divide(a, b)`, `a / b`: 数组除法(元素级)。 3. **索引和切片**: - `array[index]` 或 `array[start:stop:step]`: 获取子数组或特定元素。 - `numpy.reshape(array, new_shape)`: 改变数组的维度。 4. **统计和计算**: - `numpy.mean(a, axis=0)`: 计算数组平均值。 - `numpy.sum(a, axis=None)`: 汇总数组元素。 - `numpy.std(a, ddof=1)`: 计算标准差。 - `numpy.argmax(a)`: 找到数组最大值的索引位置。 5. **线性代数**: - `numpy.dot(a, b)`: 矩阵点积。 - `numpy.linalg.inv(a)`: 计算矩阵的逆。 - `numpy.linalg.det(a)`: 计算矩阵行列式的值。 6. **随机数生成**: - `numpy.random.rand(shape)`: 生成均匀分布的随机数。 - `numpy.random.randn(shape)`: 生成正态分布的随机数。 7. **布尔逻辑**: - `numpy.where(condition)`: 根据条件返回数组的子集。 这只是NumPy功能的一部分,实际使用时还有很多其他高级函数函数组合,如广播规则、数组切片和重塑等。如果你有具体的函数名或操作想了解,告诉我具体的问题,我可以提供更详细的说明。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值