NumPy 替換值

Muhammad Maisam Abbas 2023年1月30日 2021年7月4日
  1. NumPy 用 numpy.clip() 函式替換值
  2. NumPy 用 numpy.minimum()numpy.maximum() 函式替換值
  3. NumPy 用 Python 中的陣列索引方法替換值
NumPy 替換值

本教程將介紹如何在 Python 中替換 NumPy 陣列中的值。

NumPy 用 numpy.clip() 函式替換值

如果我們需要替換 NumPy 陣列中所有大於某個閾值的值,我們可以使用 numpy.clip() 函式。我們可以使用 numpy.clip() 函式指定陣列的上限和下限。numpy.clip() 函式返回一個陣列,其中小於指定限制的元素被替換為最低限制。大於指定限制的元素將替換為最大限制。以下程式碼示例向我們展示瞭如何使用 numpy.clip() 函式替換 NumPy 陣列中的值。

import numpy as np

array = np.array([1,2,3,4,5,5,6,7,8,8,9,9])

result = np.clip(array, 0, 5)
print(result)

輸出:

[1 2 3 4 5 5 5 5 5 5 5 5]

我們用上面程式碼中的 np.clip() 函式替換了 NumPy 陣列 array 中大於 5 的值。我們首先使用 np.array() 函式建立了一個 NumPy 陣列。然後我們通過在 np.clip() 函式內指定從 05 的限制來裁剪 array,並將結果儲存在 result 陣列中。

NumPy 用 numpy.minimum()numpy.maximum() 函式替換值

我們還可以使用 numpy.minimum()numpy.maximum() 函式來替換超出我們指定限制的陣列中的值。numpy.maximum() 函式用於將小於下限的值替換為下限。numpy.minimum() 函式用於將大於上限的值替換為上限。numpy.maximum() 函式將陣列和可能的最低值作為輸入引數。numpy.minimum() 函式將陣列和最大可能值作為輸入引數。請參考以下程式碼示例。

import numpy as np

array = np.array([1,2,3,4,5,5,6,7,8,8,9,9])

result1 = np.minimum(array, 5)

result2 = np.maximum(result1,0)
print(result2)

輸出:

[1 2 3 4 5 5 5 5 5 5 5 5]

我們使用 np.minimum() 函式將大於 5 的值替換為 5,使用 np.maximum() 函式將小於 0 的值替換為 0。我們將這些操作的結果儲存在 result2 陣列中。

NumPy 用 Python 中的陣列索引方法替換值

實現與前兩種方法相同目標的最簡單方法是使用 Python 中的陣列索引。我們可以使用 NumPy 中的陣列索引方法輕鬆替換大於或小於某個閾值的值。這個方法不是像前兩種方法那樣建立一個新陣列,而是修改了我們原始陣列的內容。

import numpy as np

array = np.array([1,2,3,4,5,5,6,7,8,8,9,9])

array[array > 5] = 5
print(array)

輸出:

[1 2 3 4 5 5 5 5 5 5 5 5]

我們通過在 Python 中使用 array[array > 5] = 5array 中大於 5 的所有值替換為 5

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn