python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python使用np.where()

Python中np.where()的使用方式

作者:允诺@晴天

这篇文章主要介绍了Python中np.where()的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

np.where的使用

np.where()是NumPy库中一个非常有用的函数,用于根据指定的条件返回一个向量或数组中满足条件的元素的位置。

它的基本语法是:

np.where(condition, x, y)

其中:

下面是几个示例:

import numpy as np

# 例1:使用np.where()替换满足条件的元素
arr = np.array([1, 2, 3, 4, 5])
new_arr = np.where(arr < 3, 0, arr)
print(new_arr)  # 输出: [0, 0, 3, 4, 5]

# 例2:使用np.where()获取满足条件的元素的位置
arr = np.array([1, 2, 3, 4, 5])
indexes = np.where(arr > 3)
print(indexes)  # 输出: (array([3, 4]),)

# 例3:使用np.where()替换多个条件
arr = np.array([1, 2, 3, 4, 5])
new_arr = np.where((arr < 3) | (arr > 4), 0, arr)
print(new_arr)  # 输出: [0, 0, 3, 0, 5]

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


new_arr = np.where(arr > 2, arr1+1, arr1)
print(new_arr)

np.where()[0] 和 np.where()[1]

import numpy as np
 
a = np.arange(12).reshape(3,4)
print('a:', a)
print('np.where(a > 5):', np.where(a > 5))
print('a[np.where(a > 5)]:', a[np.where(a > 5)])
print('np.where(a > 5)[0]:', np.where(a > 5)[0])
print('np.where(a > 5)[1]:', np.where(a > 5)[1])
print(a[np.where(a > 5)[0], np.where(a > 5)[1]])
a: [[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
np.where(a > 5): (array([1, 1, 2, 2, 2, 2]), array([2, 3, 0, 1, 2, 3]))
a[np.where(a > 5)]: [ 6  7  8  9 10 11]
np.where(a > 5)[0]: [1 1 2 2 2 2]
np.where(a > 5)[1]: [2 3 0 1 2 3]
[ 6  7  8  9 10 11]

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文