np.where( )和np.zeros( )的用法详解

一  np.where()

np.where() 是 NumPy 库中的一个函数,它用于根据条件从两个数组中选择值。它的一般语法如下:

numpy.where(condition, x, y)

1.condition:一个布尔数组或条件,用于确定在输出中选择 x 还是 y 的元素。
2.x:一个数组,表示当 condition 中的元素为 True 时要选择的值。
3.y:一个数组,表示当 condition 中的元素为 False 时要选择的值。np.where() 函数根据 condition 中的值来选择 x 或 y 中的对应元素,从而创建一个新的数组,该数组的形状与 condition、x 和 y 相同。
以下是 np.where() 的示例用法:

import numpy as np

# 创建示例数组
arr = np.array([1, 2, 3, 4, 5])

# 创建条件数组
condition = arr > 3

# 使用np.where()根据条件选择值
result = np.where(condition, arr, 0)

print(result)

在这个示例中,condition 数组是 arr > 3,它包含了布尔值,表示在 arr 中哪些元素大于3。np.where() 根据条件从 arr 中选择对应的值,大于3的元素保持不变,小于等于3的元素被替换为0,因此输出是 [0 0 0 4 5]。
np.where() 可用于多维数组,它使条件选择和值替换变得非常方便。您可以根据不同的条件创建新的数组,或者根据条件来修改现有数组中的元素。

二  np.zeros()

np.zeros 是 NumPy 中的一个函数,用于创建一个由零组成的数组。这个函数的语法是:

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

其中:

1.shape 是一个整数或元组,表示数组的形状(维度)。
2.dtype 是数组的数据类型,可选参数,默认为 float。
3.order 指定数组元素在内存中的排列顺序,可以是'C'(按行),'F'(按列),默认是'C'。下面是一些用法解析的示例:
示例 1:创建一个标量(零维数组)

import numpy as np

scalar = np.zeros(())  # 创建一个零维数组,也就是一个标量
print(scalar)
# 输出:0.0

示例 2:创建一个一维数组

import numpy as np

array_1d = np.zeros(5)  # 创建一个包含5个元素的一维数组
print(array_1d)
# 输出:[0. 0. 0. 0. 0.]


示例 3:创建一个二维数组

import numpy as np

array_2d = np.zeros((3, 4))  # 创建一个3行4列的二维数组
print(array_2d)
# 输出:
# [[0. 0. 0. 0.]
#  [0. 0. 0. 0.]
#  [0. 0. 0. 0.]]

示例 4:指定数据类型

import numpy as np

array_int = np.zeros((2, 2), dtype=int)  # 创建一个包含整数的二维数组
print(array_int)
# 输出:
# [[0 0]
#  [0 0]]

示例 5:指定排列顺序

import numpy as np

array_f_order = np.zeros((2, 3), order='F')  # 创建一个按列排列的二维数组
print(array_f_order)
# 输出:
# [[0. 0. 0.]
#  [0. 0. 0.]]

这些示例演示了 np.zeros 的一些基本用法。你可以根据自己的需求调整形状、数据类型和排列顺序。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值