欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

NumPy數組排序、過濾與隨機數生成詳解

 更新時間:2024年05月21日 08:30:48   作者:小萬哥丶  
這篇文章主要詳細給大家介紹了NumPy數組排序、過濾與隨機數生成,文中通過代碼示例給大家講解的非常詳細,對大家學習NumPy有一定的幫助,需要的朋友可以參考下

NumPy 數組排序

排序數組

排序數組意味著將元素按特定順序排列。順序可以是數字大小、字母順序、升序或降序等。

NumPy 的 ndarray 對象提供了一個名為 sort() 的函數,用于對數組進行排序。

示例:

import numpy as np

arr = np.array([3, 2, 0, 1])

print(np.sort(arr))

輸出:

[0 1 2 3]

注意:

sort() 方法會返回數組的副本,原始數組不會被修改。 可以對字符串數組、布爾數組等其他數據類型進行排序。

排序二維數組

對于二維數組,sort() 方法會對每一行進行排序。

示例:

import numpy as np

arr = np.array([[3, 2, 4], [5, 0, 1]])

print(np.sort(arr))

輸出:

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

練習

使用 NumPy 正確的方法對以下數組進行排序:

arr = np.array([3, 2, 0, 1])

x = np.sort(
    # 請在此處填寫代碼
)

print(x)

解答:

x = np.sort(arr)

NumPy 數組過濾

過濾數組

過濾數組是指從現有數組中選取部分元素,并創(chuàng)建新的數組。

在 NumPy 中,可以使用布爾索引列表來過濾數組。布爾索引列表是一個與數組索引相對應的布爾值列表。

如果索引處的值為 True,則該元素會被包含在過濾后的數組中;如果為 False,則會被排除。

示例:

import numpy as np

arr = np.array([41, 42, 43, 44])

x = [True, False, True, False]

newarr = arr[x]

print(newarr)

輸出:

[41 43]

解釋:

新數組 newarr 只包含 arr 中索引為 0 和 2 的元素,因為 x 對應索引處的值為 True。

創(chuàng)建過濾數組

通常情況下,我們需要根據條件來創(chuàng)建過濾數組。

示例:

僅返回大于 42 的元素:

import numpy as np

arr = np.array([41, 42, 43, 44])

filter_arr = arr > 42

newarr = arr[filter_arr]

print(filter_arr)
print(newarr)

輸出:

[False  True  True  True]
[43 44]

僅返回偶數元素:

import numpy as np

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

filter_arr = arr % 2 == 0

newarr = arr[filter_arr]

print(filter_arr)
print(newarr)

輸出:

[False  True  False  True  False  True  False]
[2 4 6]

直接從數組創(chuàng)建過濾

NumPy 提供了一種更簡潔的方式來創(chuàng)建過濾數組,即直接在條件中使用數組:

示例:

僅返回大于 42 的元素:

import numpy as np

arr = np.array([41, 42, 43, 44])

newarr = arr[arr > 42]

print(newarr)

輸出:

[43 44]

僅返回偶數元素:

import numpy as np

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

newarr = arr[arr % 2 == 0]

print(newarr)

輸出:

[2 4 6]

練習

使用 NumPy 的直接過濾方法,從以下數組中過濾出所有平方為偶數的元素:

import numpy as np

arr = np.

NumPy 中的隨機數

什么是隨機數?

隨機數是指無法通過確定性方法預測其值的數據。通常情況下,隨機數是指在一定范圍內均勻分布的數字。

在計算機中,由于程序的確定性,不可能生成真正的隨機數。因此,通常使用偽隨機數來代替隨機數。偽隨機數是通過算法生成的,但看起來像隨機數。

NumPy 中的隨機數生成

NumPy 提供了 random 模塊用于生成隨機數。該模塊提供了多種方法,可以生成不同類型和分布的隨機數。

生成隨機整數

randint(low, high, size):生成指定范圍內的隨機整數。 low:下限,默認為 0。 high:上限,不包括上限本身。 size:輸出數組的形狀。

示例:

import numpy as np

# 生成 10 個介于 0 和 100 之間的隨機整數
x = np.random.randint(0, 101, size=10)
print(x)

生成隨機浮點數

rand(size):生成介于 0 和 1 之間的隨機浮點數。 size:輸出數組的形狀。

示例:

import numpy as np

# 生成 5 個隨機浮點數
x = np.random.rand(5)
print(x)

從數組中生成隨機數

choice(a, size, replace):從數組 a 中隨機選擇元素。 a:源數組。 size:輸出數組的形狀。 replace:是否允許重復選擇元素,默認為 False。

示例:

import numpy as np

# 從數組 [1, 2, 3, 4, 5] 中隨機選擇 3 個元素
x = np.random.choice([1, 2, 3, 4, 5], size=3)
print(x)

生成指定分布的隨機數

NumPy 還提供了其他方法來生成特定分布的隨機數,例如正態(tài)分布、均勻分布、指數分布等。

randn(size):生成服從標準正態(tài)分布的隨機數。 randm(size):生成服從均勻分布的隨機整數。 beta(a, b, size):生成服從 Beta 分布的隨機數。 gamma(shape, scale, size):生成服從 Gamma 分布的隨機數。 poisson(lam, size):生成服從泊松分布的隨機整數。

例如,生成 10 個服從標準正態(tài)分布的隨機數:

import numpy as np

x = np.random.randn(10)
print(x)

練習

  • 使用 randint 方法生成一個包含 20 個介于 100 到 200 之間的隨機整數的數組。
  • 使用 rand 方法生成一個包含 15 個介于 0 和 1 之間的隨機浮點數的數組。
  • 從數組 [1, 3, 5, 7, 9] 中隨機選擇 10 個元素,并允許重復。
  • 生成 5 個服從標準正態(tài)分布的隨機數。

解決方案

import numpy as np

# 1. 使用 randint 方法生成隨機整數數組
random_ints = np.random.randint(100, 201, size=20)
print(random_ints)

# 2. 使用 rand 方法生成隨機浮點數數組
random_floats = np.random.rand(15)
print(random_floats)

# 3. 從數組中隨機選擇元素
random_elements = np.random.choice([1, 3, 5, 7, 9], size=10, replace=True)
print(random_elements)

# 4. 生成服從標準正態(tài)分布的隨機數
normal_randoms = np.random.randn(5)
print(normal_randoms)

最后

以上就是NumPy數組排序、過濾與隨機數生成詳解的詳細內容,更多關于NumPy數組排序過濾及生成的資料請關注腳本之家其它相關文章!

相關文章

最新評論