np.random.choice方法


np.random.choice方法

覺得有用的話,歡迎一起討論相互學習~

我的微博我的github我的B站

  • def choice(a, size=None, replace=True, p=None)
    • 表示從a中隨機選取size個數
    • replacement 代表的意思是抽樣之后還放不放回去,如果是False的話,那么通一次挑選出來的數都不一樣,如果是True的話, 有可能會出現重復的,因為前面的抽的放回去了。
    • p表示每個元素被抽取的概率,如果沒有指定,a中所有元素被選取的概率是相等的。

默認為有放回的抽樣 (可以重復)

  • np.random.choice(5, 3)
    • 和np.random.randint(0,5,3)意思相同,表示從[0,5)之間隨機以等概率選取3個數
  • np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])
    • 表示分別以p=[0.1, 0, 0.3, 0.6, 0]的概率從[0,1,2,3,4]這四個數中選取3個數

以下為無放回的抽樣 (不會出現重復的元素)

  • np.random.choice(a=5, size=3, replace=False, p=None)
  • np.random.choice(a=5, size=3, replace=False, p=[0.2, 0.1, 0.3, 0.4, 0.0])

此方法也可以對列表List類型元素使用

  • aa_milne_arr = ['pooh', 'rabbit', 'piglet', 'Christopher']
  • np.random.choice(aa_milne_arr, 5, p=[0.5, 0.1, 0.1, 0.3])
import numpy as np

a1=np.random.choice(5, 3)
a2=np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])
a3=np.random.choice(a=5, size=3, replace=False, p=None)
a4=np.random.choice(a=5, size=3, replace=False, p=[0.2, 0.1, 0.3, 0.4, 0.0])
aa_milne_arr = ['pooh', 'rabbit', 'piglet', 'Christopher']
a5=np.random.choice(aa_milne_arr, 5, p=[0.5, 0.1, 0.1, 0.3])

print("a1:\n",a1,"\n","a2:\n",a2,"\n","a3:\n",a3,"\n","a4:\n",a4,"\n","a5:\n",a5)

# a1:
#  [2 2 2]
#  a2:
#  [2 3 3]
#  a3:
#  [4 0 1]
#  a4:
#  [0 3 2]
#  a5:
#  ['pooh' 'rabbit' 'pooh' 'pooh' 'Christopher']


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM