亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

NumPy之Ndarray運算函數操作方法有哪些

發布時間:2023-04-28 15:12:47 來源:億速云 閱讀:111 作者:iii 欄目:開發技術

這篇文章主要介紹了NumPy之Ndarray運算函數操作方法有哪些的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇NumPy之Ndarray運算函數操作方法有哪些文章都會有所收獲,下面我們一起來看看吧。

    NumPy比較運算符

    NumPy中的比較運算符(>、<、==、!=、>=、<=)用于比較兩個數組的元素是否滿足一定的關系,結果是一個布爾類型的數組,其中 True 表示相應位置的元素滿足條件,False 表示不滿足。

    常用的比較運算符:

    運算符說明
    大于(>)判斷左側的值是否大于右側的值
    小于(<)判斷左側的值是否小于右側的值
    等于(==)判斷左側的值是否等于右側的值
    不等于(!=)判斷左側的值是否不等于右側的值
    大于等于(>=)判斷左側的值是否大于或等于右側的值
    小于等于(<=)判斷左側的值是否小于或等于右側的值
    import numpy as np
    a = np.array([1, 2, 3])
    b = np.array([2, 2, 2])
    print(a > b)  # 輸出:[False False  True]
    print(a < b)  # 輸出:[ True False False]
    print(a == b)  # 輸出:[False  True False]
    print(a != b)  # 輸出:[ True False  True]
    print(a >= b)  # 輸出:[False  True  True]
    print(a <= b)  # 輸出:[ True  True False]
    import numpy as np
    # 生成1-20范圍 4行3列的二維數組
    a = np.random.randint(1, 20, (4, 3))
    print(a)
    print()
    # 取出前2行的前2列用于邏輯判斷
    b = a[:2, 0:2]
    # 邏輯判斷, 如果大于10就標記為True 否則為False
    print(b > 10)
    print()
    # BOOL賦值, 將滿足條件的設置為指定的值-布爾索引
    b[b > 10] = 1
    print(b)
    [[ 5 16  5]
     [12  9 13]
     [ 8 18 11]
     [ 4 19 17]]
    [[False  True]
     [ True False]]
    [[5 1]
     [1 9]]

    NumPy邏輯運算符

    邏輯運算符(&(與)、|(或)、^(異或)、~(非)):用于對布爾數組進行邏輯運算,返回一個布爾數組。

    邏輯與

    其中 "&" 運算符表示邏輯與,當所有操作數均為 True 時結果才為 True,否則結果為 False。

    import numpy as np
    a = np.array([True, False, True])
    b = np.array([False, True, True])
    c = a & b  # 對 a 和 b 進行與運算,返回一個布爾數組
    print(c) # [False False  True]

    邏輯或

    "|" 運算符表示邏輯或,在任意一個操作數為 True 時結果就為 True,只有所有操作數均為 False 時結果才為 False。

    import numpy as np
    a = np.array([True, False, True])
    b = np.array([False, True, True])
    c = a | b 
    print(c) # [ True  True  True]

    邏輯異或

    "^" 運算符表示邏輯異或,在兩個操作數相同時結果為 False,在操作數不同時結果為 True。

    import numpy as np
    a = np.array([True, False, True])
    b = np.array([False, True, True])
    c = a ^ b 
    print(c) # [ True  True False]

    邏輯非

    "~" 運算符表示邏輯非,對操作數取反。

    import numpy as np
    a = np.array([True, False, True])
    b = np.array([False, True, True])
    c = ~a
    print(c)  # False  True False]
    c = ~b
    print(c) # [ True False False]

    NumPy邏輯運算函數

    NumPy庫中的邏輯運算函數:

    函數名對應運算符說明
    logical_and()&對兩個數組執行邏輯AND運算
    logical_or()對兩個數組執行邏輯OR運算
    logical_not()~對數組進行邏輯NOT運算
    logical_xor()^對數組進行邏輯異或XOR運算

    logical_and()函數

    logical_and()函數函數接受兩個參數,返回一個布爾類型數組。

    np.logical_and(x1, x2) :對兩個數組 x1 和 x2 中的每個元素進行邏輯與運算,并將結果以一個新的布爾類型數組返回。對于同一位置上的元素,只有在都為 True 時,結果才為 True;否則,結果為 False。

    import numpy as np
    a = np.array([True, True, False, False])
    b = np.array([True, False, True, False])
    c = np.logical_and(a, b)
    print(c) #  True False False False]
    # 大于0.5并且小于3的,換為1,否則為0
    c = np.array([1, 2, 3, 4, 5])
    d = np.logical_and(c > 0.5, c < 3)
    print(d) # [ True  True False False False]
    print(np.where(d, 1, 0)) # [1 1 0 0 0]

    np.logical_or()函數

    np.logical_or()函數接受兩個參數,返回一個布爾類型數組。

    np.logical_or(x1, x2) :對兩個數組 x1 和 x2 中的每個元素進行邏輯或運算,并將結果以一個新的布爾類型數組返回。對于同一位置上的元素,只有在都為 False 時,結果才為 False;否則,結果為 True。

    import numpy as np
    a = np.array([True, True, False, False])
    b = np.array([True, False, True, False])
    c = np.logical_or(a, b)
    print(c) # [ True  True  True False]
    # 大于0.5并且小于3的,換為1,否則為0
    c = np.array([1, 2, 3, 4, 5])
    d = np.logical_or(c > 0.5, c < 3)
    print(d) # [ True  True  True  True  True]
    print(np.where(d, 1, 0)) # [1 1 1 1 1]

    logical_not()函數

    np.logical_not(x):對 x 中的元素進行邏輯非(not)運算,返回一個新的數組。

    import numpy as np
    a = np.array([True, False, True])
    print(np.logical_not(a))# [False  True False]

    logical_xor()函數

    np.logical_xor(x1, x2):對 x1 和 x2 中的元素進行邏輯異或(xor)運算,返回一個新的數組。

    import numpy as np
    a = np.array([True, False, True])
    b = np.array([False, True, True])
    print(np.logical_xor(a, b)) # [ True  True False]

    NumPy判斷函數

    all(a)函數

    np.all()函數用于測試數組中的所有元素是否都是True

    import numpy as np
    a = np.array([1, 2, 3, 4])
    b = np.array([0, 2, 3, 4])
    print(np.all(a))   # True,因為所有元素都不為0
    print(np.all(b))   # False,因為第一個元素為0
    c = np.array([[1, 2, 3], [4, 5, 6]])
    print(np.all(c))     # True,因為所有元素都不為0
    # axis=0:沿著列方向測試所有元素是否都為True
    print(np.all(c, axis=0))   # [True True False]
    # axis=1:沿著行方向測試所有元素是否都為True
    print(np.all(c, axis=1))   # [True  False]
    d = np.array([True, False, True])
    print(np.all(d))  # 輸出 False

    any(a)函數

    np.any()函數用于測試給定數組的任意元素是否為True。它返回一個布爾值,表示數組中是否有任意一個元素為True。

    import numpy as np
    a = np.array([0, 1, 2])
    print(np.any(a))  # 輸出 True
    b = np.array([False, False, False])
    print(np.any(b))  # 輸出 False
    c = np.array([[True, False], [False, False]])
    print(np.any(c))  # 輸出 True
    d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
    print(d[0:2, :2]) # [[1 2]  [4 5]]
    print(np.any(d[0:2, :2] &gt; 5 ))

    isnan(x)函數

    np.isnan(x)函數判斷一個數是否為 NaN (not a number)

    import numpy as np
    a = np.array([1, 2, np.nan, 4])
    print(np.isnan(a))     # [False False  True False]

    isinf(x)函數

    np.isinf(x)函數判斷一個數是否為正無窮或負無窮

    import numpy as np
    b = np.array([1, 2, np.inf, -np.inf])
    print(np.isinf(b))     # [False False  True  True]

    isfinite(x)函數

    np.isfinite(x)函數判斷一個數是否為有限的數值

    import numpy as np
    c = np.array([1, 2, np.nan, np.inf, -np.inf])
    print(np.isfinite(c))  # [ True  True False False False]

    allclose(a, b)函數

    np.allclose(a, b)函數判斷兩個數組是否在一定誤差范圍內相等

    import numpy as np
    a = np.array([[1, 2], [3, 4]])
    b = np.array([[1.01, 2.01], [3.01, 4.01]])
    print(np.allclose(a, b))     # False
    print(np.allclose(a, b, rtol=0.02))  # True

    array_equal(a, b)函數

    np.array_equal(a, b)函數判斷兩個數組是否完全相同

    import numpy as np
    a = np.array([1, 2, 3])
    b = np.array([1, 2, 3])
    print(np.array_equal(a, b))   # True
    c = np.array([1, 2, 3])
    d = np.array([1, 2, 4])
    print(np.array_equal(c, d))   # False

    greater(x, y)函數

    np.greater(x, y)函數 對比兩個數組中的元素,返回一個表示 x 是否大于 y 的布爾數組

    import numpy as np
    a = np.array([1, 2, 3])
    b = np.array([2, 2, 2])
    print(np.greater(a, b))      # [False False  True]

    less(x, y)函數

    np.less(x, y)函數對比兩個數組中的元素,返回一個表示 x 是否小于 y 的布爾數組

    import numpy as np
    a = np.array([1, 2, 3])
    b = np.array([2, 2, 2])
    print(np.less(a, b))         # [ True False False]

    equal(x, y)函數

    np.equal(x, y)函數對比兩個數組中的元素,返回一個表示 x 是否等于 y 的布爾數組

    import numpy as np
    a = np.array([1, 2, 3])
    b = np.array([1, 3, 3])
    print(np.equal(a, b))        # [ True False  True]

    NumPy條件篩選函數

    NumPy中可以使用條件篩選函數進行條件選擇操作。

    where()函數

    numpy.where(condition, x, y)

    where()函數說明:

    np.where函數用于根據給定條件返回輸入數組中滿足條件的元素的索引或值。

    參數:

    condition:一個布爾型數組或條件表達式,用于指定篩選條件

    x:滿足條件時的返回值

    y:不滿足條件時的返回值

    使用np.where函數找出數組a中大于3的元素的索引,并且將滿足條件的元素從a和b對應位置的值中取出來

    import numpy as np
    a = np.array([1, 2, 3, 4, 5])
    b = np.array([10, 20, 30, 40, 50])
    # 返回滿足條件的元素的索引
    indices = np.where(a &gt; 3)
    print(indices) # (array([3, 4], dtype=int64),)
    # 返回滿足條件的元素的值
    values = np.where(a &gt; 3, a, b)
    # 根據條件 (a &gt; 3) 可以得到一個布爾類型的數組 [False False True True True]。對于這個數組中每個元素,如果是 True 則返回 a 數組中對應的元素,否則返回 b 數組中對應的元素。所以最終結果是 [10 20 30 4 5]。
    print(values) # [10 20 30  4  5]

    choose()函數

    numpy.choose 函數可以根據給定的索引數組從一組備選的值中進行選擇。

    numpy.choose(a, choices, out=None, mode='raise')
    a:表示從中選擇值的整數數組,每個值必須是非負的且小于 len(choices)
    choices:表示備選值的序列。可以是列表、元組或數組等對象,且每個對象的形狀必須相同
    out:可選參數,表示輸出數組
    mode:表示邊界處理方式,默認為 'raise'(拋出異常),還可以設置為 'wrap'(循環)或 'clip'(剪切)
    import numpy as np
    # 定義選擇數組a和備選值數組choices 
    a = np.array([0, 1, 2, 2])
    choices = (10, 11, 12, 13)
    # 使用 choose 函數進行選擇
    # 從 choices 中根據 a 中的索引進行選擇,得到最終的結果數組。
    result = np.choose(a, choices)
    print(result)  # 輸出 [10 11 12 12]

    select()函數

    numpy.select函數則是一種更加靈活的選擇方式,它可以根據多個條件來進行選擇。其函數簽名為:

    numpy.select(condlist, choicelist, default=0)

    condlist:表示條件列表的序列。每個條件都是一個布爾數組,且所有條件必須具有相同形狀。

    choicelist:表示備選值的序列。每個備選值也必須具有相同的形狀

    default:可選參數,表示默認值

    import numpy as np
    # 定義條件列表condlist和備選值列表choicelist 
    condlist = [np.array([True, False]), np.array([False, True])]
    choicelist = [np.array([1, 2]), np.array([3, 4])]
    # 使用 select 函數進行選擇
    # 使用 numpy.select 函數根據條件列表從備選值列表中進行選擇,得到最終的結果數組
    result = np.select(condlist, choicelist)
    # 第一個條件為 [True, False],因此選擇了第一個備選值 [1, 2] 中的第一個元素 1
    # 第二個條件為 [False, True],因此選擇了第二個備選值 [3, 4] 中的第二個元素 4。最終得到的結果為 [1, 4]
    print(result)  # 輸出 [1 4]

    NumPy統計運算

    統計運算是指對一組數據進行統計分析的運算,常見的統計運算包括:

    求和(Sum):將一組數值加起來得到總和。
    平均數(Mean):將一組數值相加后除以數量,得到平均值。
    中位數(Median):將一組數值按從小到大的順序排列,取中間的那個數值作為中位數。
    眾數(Mode):一組數值中出現次數最多的數值。
    方差(Variance):表示數據集合各項數據與其平均數之差平方的平均數。
    標準差(Standard Deviation):是方差的正平方根。
    百分位數(Percentile):將一組數值按從小到大的順序排列,然后找出某個百分比所處的位置

    求和(Sum)

    numbers = [1, 2, 3, 4, 5]
    total = sum(numbers)
    print(total)  # 輸出:15

    平均數(Mean)

    numbers = [1, 2, 3, 4, 5]
    average = sum(numbers) / len(numbers)
    print(average)  # 輸出:3.0

    中位數(Median)

    import statistics
    numbers = [1, 2, 3, 4, 5]
    median = statistics.median(numbers)
    print(median)  # 輸出:3

    眾數(Mode)

    from collections import Counter
    numbers = [1, 2, 3, 3, 4, 4, 4, 5, 5]
    counter = Counter(numbers)
    mode = counter.most_common(1)[0][0]
    print(mode)  # 輸出:4

    方差(Variance)

    import statistics
    numbers = [1, 2, 3, 4, 5]
    variance = statistics.variance(numbers)
    print(variance)  # 輸出:2.5

    標準差(Standard Deviation)

    import statistics
    numbers = [1, 2, 3, 4, 5]
    stdev = statistics.stdev(numbers)
    print(stdev)  # 輸出:1.5811388300841898

    百分位數(Percentile)

    import numpy as np
    numbers = [1, 2, 3, 4, 5]
    percentile = np.percentile(numbers, 50)
    print(percentile)  # 輸出:3.0

    NumPy算術函數

    函數名說明
    numpy.add()將兩個數組相加
    numpy.subtract()從第一個數組中減去第二個數組
    numpy.multiply()將兩個數組相乘
    numpy.divide()將第一個數組除以第二個數組
    numpy.power()對第一個數組中的每個元素求指數
    numpy.mod()計算兩個數組的元素之間的模數(余數)
    numpy.abs()返回數組中每個元素的絕對值
    numpy.exp()對數組中的每個元素進行指數運算
    numpy.log()對數組中的每個元素進行自然對數運算

    兩個數組相加

    import numpy as np
    a = np.array([1, 2, 3])
    b = np.array([4, 5, 6])
    c = np.add(a, b)
    print(c) # [5 7 9]

    NumPy數學函數

    NumPy 提供了許多數學函數,用于對數組進行各種數學運算。

    函數名說明
    numpy.sin()計算數組中每個元素的正弦值。
    numpy.cos()計算數組中每個元素的余弦值。
    numpy.tan()計算數組中每個元素的正切值。
    numpy.arcsin()計算數組中每個元素的反正弦值。
    numpy.arccos()計算數組中每個元素的反余弦值。
    numpy.arctan()計算數組中每個元素的反正切值。
    numpy.exp()計算數組中每個元素的指數函數值。
    numpy.log()計算數組中每個元素的自然對數值。
    numpy.log10()計算數組中每個元素的以 10 為底的對數值。

    計算數組中每個元素的正弦值:

    import numpy as np
    arr = np.array([0, np.pi/2, np.pi])
    sin_arr = np.sin(arr)
    print(sin_arr) # [0.0000000e+00 1.0000000e+00 1.2246468e-16]

    NumPy字符串函數

    NumPy提供了一些字符串函數,用于處理數組中的字符串元素。

    函數名說明
    numpy.char.add()將兩個字符串連接為一個字符串
    numpy.char.multiply()將字符串重復多次
    numpy.char.lower()將字符串中的字母轉換為小寫
    numpy.char.upper()將字符串中的字母轉換為大寫
    numpy.char.title()將字符串中每個單詞的首字母大寫
    numpy.char.split()將字符串分割成子字符串,并返回一個數組
    numpy.char.strip()從字符串的開頭和結尾刪除空格或指定字符
    numpy.char.replace()使用另一個字符串替換字符串中的指定字符

    將兩個字符串連接起來:

    import numpy as np
    a = np.array(['Hello', 'world'])
    b = np.array(['!', '?'])
    c = np.char.add(a, b)
    print(c) # ['Hello!' 'world?']

    NumPy排序函數

    NumPy 提供了許多排序函數,用于對數組進行排序。

    函數名說明
    numpy.sort()對數組進行排序
    numpy.argsort()返回數組中元素排序后的索引
    numpy.lexsort()對多個序列進行排序
    numpy.partition()按照指定順序對數組進行分區
    numpy.argpartition()返回將數組分成多個部分所需的索引

    對數組進行排序,并返回排序后的索引:

    import numpy as np
    arr = np.array([3, 8, 1, 6, 0])
    sorted_indices = np.argsort(arr)
    print(sorted_indices) # [4 2 0 3 1]

    關于“NumPy之Ndarray運算函數操作方法有哪些”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“NumPy之Ndarray運算函數操作方法有哪些”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    伊宁县| 奉贤区| 沙雅县| 大同市| 图木舒克市| 万全县| 德江县| 陆河县| 喀喇| 手机| 巢湖市| 梧州市| 临漳县| 新建县| 宜州市| 西吉县| 临洮县| 双城市| 孝义市| 铁力市| 始兴县| 巨野县| 牡丹江市| 七台河市| 清河县| 同德县| 汝州市| 洪湖市| 永嘉县| 旬阳县| 马山县| 黑龙江省| 尚义县| 个旧市| 图们市| 铜梁县| 平远县| 和硕县| 濮阳县| 九龙坡区| 阿拉善右旗|