2025——》NumPy中的np.ones使用/Python NumPy全1数组生成指南

NumPy中的np.ones使用:

np.ones 是 NumPy 中用于创建全为 1 的数组的函数。以下是其详细用法和示例:

1. 基本语法:

np.ones(shape, dtype=None, order='C')

np.ones(shape, dtype=None, order='C')

  • shape:数组的形状,可以是整数(如 5)或元组(如 (2, 3))。
  • dtype(可选):数组的数据类型,默认是 float64
  • order(可选):内存布局,'C' 表示行优先,'F' 表示列优先。

2. 创建一维数组:

import numpy as np

# 创建长度为5的一维数组,元素全为1.0(默认浮点数)
arr1 = np.ones(5)
print(arr1)
# 输出: [1. 1. 1. 1. 1.]

# 指定整数类型
arr2 = np.ones(5, dtype=int)
print(arr2)
# 输出: [1 1 1 1 1]
 

import numpy as np

# 创建长度为5的一维数组,元素全为1.0(默认浮点数)
arr1 = np.ones(5)
print(arr1)
# 输出: [1. 1. 1. 1. 1.]

# 指定整数类型
arr2 = np.ones(5, dtype=int)
print(arr2)
# 输出: [1 1 1 1 1]

3. 创建多维数组:

通过元组指定形状:

# 创建2x3的二维数组
arr_2d = np.ones((2, 3))
print(arr_2d)
# 输出:
# [[1. 1. 1.]
#  [1. 1. 1.]]

# 创建3x2x4的三维数组
arr_3d = np.ones((3, 2, 4))
print(arr_3d.shape)  # 输出: (3, 2, 4)
 

# 创建2x3的二维数组
arr_2d = np.ones((2, 3))
print(arr_2d)
# 输出:
# [[1. 1. 1.]
#  [1. 1. 1.]]

# 创建3x2x4的三维数组
arr_3d = np.ones((3, 2, 4))
print(arr_3d.shape)  # 输出: (3, 2, 4)

4. 与其他函数的对比:

函数用途示例
np.ones()创建全为 1 的数组np.ones((2, 3)) → [[1,1,1],[1,1,1]]
np.zeros()创建全为 0 的数组np.zeros(5) → [0, 0, 0, 0, 0]
np.full()创建全为指定值的数组np.full((2, 2), 5) → [[5,5],[5,5]]

5. 应用场景

  • 初始化矩阵:作为占位符或基准值。
  • 计算权重:在机器学习中作为初始权重。
  • 掩码数组:用于布尔运算。

例如,创建一个全 1 的 3×3 矩阵并与另一个矩阵相加:

a = np.ones((3, 3))
b = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(a + b)
# 输出:
# [[ 2.  3.  4.]
#  [ 5.  6.  7.]
#  [ 8.  9. 10.]]
 

a = np.ones((3, 3))
b = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(a + b)
# 输出:
# [[ 2.  3.  4.]
#  [ 5.  6.  7.]
#  [ 8.  9. 10.]]

6. 注意事项

  • 数据类型:默认是浮点数(float64),指定整数需显式设置 dtype
  • 性能:NumPy 数组比 Python 列表更高效,适合大规模数值计算。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值