numpy.where()函式
numpy.where()
呼叫方法
numpy.where(condition[, x, y])
各個引數意義:
condition
:類似陣列的物件,布林值
x, y
:類似陣列的物件,給出值的地方,如果condition
為True
,從x
中選取值,condition
為False
,從y
中選取值。
有返回值,返回一個滿足條件時取x
中對應的值,不滿足條件時取y
中對應值的陣列。
注意:這裡的condition
,x
,y
只是為了表示以及說明時的必要,並不是真正意義上的關鍵字。
程式碼如下:
# -*- coding:utf-8 -*-
"""
author: 15025
time: 2020/12/30 20:27
software: PyCharm
"""
import numpy as np
class Debug:
@staticmethod
def mainProgram():
array = np.where([[True, False], [True, True]], [[1, 2], [3, 4]], [[9, 8], [7, 6]])
print("array的值為:")
print(array)
if __name__ == "__main__":
main = Debug()
main.mainProgram()
"""
array的值為:
[[1 8]
[3 4]]
"""
我們可以看到,這裡的[[True, False], [True, True]]
相當於我們說的condition
,[[1, 2], [3, 4]]
相當於x
,[[9, 8], [7, 6]]
相當於y
,當我們的conditon
為False
時從y
中取出了數值8
,其他數值全部從x
中的對應位置取出。最終我們得到了上述結果。
這裡我們額外給出一個使用np.where()函式獲取陣列中最大值對應位置的例子。
# -*- coding:utf-8 -*-
"""
author: 15025
time: 2020/12/30 20:27
software: PyCharm
"""
import numpy as np
class Debug:
@staticmethod
def mainProgram():
array = np.array([0, 1, 2, 3, 5, 4])
array_ = np.where(array == np.max(array))
print("array_的值為:")
print(array_)
if __name__ == "__main__":
main = Debug()
main.mainProgram()
"""
array_的值為:
(array([4], dtype=int64),)
"""
這裡array_
的結果中存放的實際是當前陣列中最大值所對應的索引值。
二維情況:
# -*- coding:utf-8 -*-
"""
author: 15025
time: 2020/12/30 20:27
software: PyCharm
"""
import numpy as np
class Debug:
@staticmethod
def mainProgram():
array = np.array([[0, 1, 2, 3, 5, 4, 5], [0, 1, 2, 3, 4, 5, 5]])
array_ = np.where(array == np.max(array))
print("array_的值為:")
print(array_)
if __name__ == "__main__":
main = Debug()
main.mainProgram()
"""
array_的值為:
(array([0, 0, 1, 1], dtype=int64), array([4, 6, 5, 6], dtype=int64))
"""
結果中的array([0, 0, 1, 1], dtype=int64)
表示陣列中的y
索引值,array([4, 6, 5, 6], dtype=int64)
表示x
的索引值。
三維情況:
# -*- coding:utf-8 -*-
"""
author: 15025
time: 2020/12/30 20:27
software: PyCharm
"""
import numpy as np
class Debug:
@staticmethod
def mainProgram():
array = np.array([[[0, 1], [0, 1]],
[[1, 2], [1, 2]],
[[1, 3], [1, 3]]])
array_ = np.where(array == np.max(array))
print("array_的值為:")
print(array_)
if __name__ == "__main__":
main = Debug()
main.mainProgram()
"""
array_的值為:
(array([2, 2], dtype=int64), array([0, 1], dtype=int64), array([1, 1], dtype=int64))
"""
顯而易見,三維結果同二維的情況類似,只是多了一個維度。
碼字不易,如果大家覺得有用,請高抬貴手給一個贊讓我上推薦讓更多的人看到吧~
相關文章
- MySQL函式大全(字串函式,數學函式,日期函式,系統級函式,聚合函式)MySql函式字串
- python中id()函式、zip()函式、map()函式、lamda函式Python函式
- Python 擴充之特殊函式(lambda 函式,map 函式,filter 函式,reduce 函式)Python函式Filter
- MySQL(四)日期函式 NULL函式 字串函式MySql函式Null字串
- 第7章 IF函式 COUNTIF函式 SUMIF函式函式
- (譯) 函式式 JS #2: 函式!函式JS
- 核函式 多項式核函式 高斯核函式(常用)函式
- 第 8 節:函式-匿名函式、遞迴函式函式遞迴
- lambda匿名函式sorted排序函式filter過濾函式map對映函式函式排序Filter
- SQL-函式 - 聚合函式SQL函式
- 【每日函式】每日函式(2021.08.05)函式
- 【每日函式】每日函式(2021.08.06)函式
- 【每日函式】每日函式(2021.08.10)函式
- 【每日函式】每日函式(2021.08.09)函式
- 【每日函式】每日函式(2021.08.08)函式
- main函式的入口函式AI函式
- 【每日函式】每日函式(2021.08.16)函式
- 【每日函式】每日函式(2021.08.14)函式
- 【知識點】inline函式、回撥函式、普通函式inline函式
- Python函式與lambda 表示式(匿名函式)Python函式
- 箭頭函式、簡寫函式、普通函式的區別函式
- Hive函式(內建函式+自定義標準函式UDF)Hive函式
- webgl內建函式--幾何函式與矩陣函式Web函式矩陣
- webgl內建函式--向量函式與紋理查詢函式Web函式
- Oracle OCP(03):字元函式、數字函式和日期函式Oracle字元函式
- 深入理解 函式、匿名函式、自執行匿名函式函式
- Mysql 常用函式(20)- ceiling 函式MySql函式
- Mysql 常用函式(15)- upper 函式MySql函式
- webgl內建函式--通用函式Web函式
- Kotlin之“with”函式和“apply”函式Kotlin函式APP
- Kotlin 函式6 - 高階函式Kotlin函式
- 探索MySQL高階語句(數學函式、聚合函式、字串函式、日期時間函式)MySql函式字串
- 函式式元件函式元件
- 函式式介面函式
- Python技法3:匿名函式、回撥函式和高階函式Python函式
- python內建函式-eval()函式與exec()函式的區別Python函式
- 何時使用函式表示式與函式宣告函式
- JavaScript函式宣告和函式表示式區別JavaScript函式