Numpy 生成随机数和乱序
生活随笔
收集整理的這篇文章主要介紹了
Numpy 生成随机数和乱序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Numpy 生成隨機數和亂序
Numpy官網:http://www.numpy.org/
一、生成隨機數
1. numpy.random.rand(d0, d1, …, dn)
生成在 [0, 1) 均勻分布的隨機數組,shape 為(d0, d1, …, dn)。
# 生成形狀為(3,2)的隨機數組 >>> np.random.rand(3,2) array([[ 0.14022471, 0.96360618], [ 0.37601032, 0.25528411], [ 0.49313049, 0.94909878]])2. numpy.random.randn(d0, d1, …, dn)
生成標準正態分布 N(0,1) 的隨機數組,shape 為(d0, d1, …, dn)。
# 生成一個標準正態分布數 >>> np.random.randn() 2.1923875335537315 # 生成形狀為(2, 4)的 N(3, 6.25) 正態分布的隨機數組 >>> 2.5 * np.random.randn(2, 4) + 3 array([[-4.49401501, 4.00950034, -1.81814867, 7.29718677], [ 0.39924804, 4.68456316, 4.99394529, 4.84057254]])3. numpy.random.randint(low, high=None, size=None, dtype=‘l’)
生成在半開半閉區間[low,high)上離散均勻分布的整數值;若high=None,則取值區間為[0,low) 。
# 生成形狀為(10, )的[0,2)上離散均勻分布的整數值 >>> np.random.randint(2, size=10) array([1, 0, 0, 0, 1, 1, 0, 0, 1, 0])# 生成形狀為(2, 4)的[0,4)上離散均勻分布的整數值 >>> np.random.randint(5, size=(2, 4)) array([[4, 0, 2, 1],[3, 2, 2, 0]])4. numpy.random.choice(a, size=None, replace=True, p=None)
若a為數組(元素可為非數值類型),則從a中選取元素;若a為單個int類型數,則選取np.arange(a)中的數。 若replace為True,則選取的元素會出現重復;反之不會出現重復 。p為數組,里面存放選到每個數的可能性,即概率。
# 生成形狀為(3, )在np.arange(5)中隨機取值的數組 >>> np.random.choice(5, 3) array([0, 3, 4])# 生成形狀為(3, )在np.arange(5)中按p中的概率取值的數組 >>> np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0]) array([3, 3, 0])# 生成形狀為(3, )在np.arange(5)中按p中的概率取值的不重復數組 >>> np.random.choice(5, 3, replace=False, p=[0.1, 0, 0.3, 0.6, 0]) array([2, 3, 0])5. numpy.random.seed(seed=None) / numpy.random.RandomState(seed = None)
設置隨機種子(整數),使每次生成的隨機數一樣。
numpy.random.seed(222) numpy.random.RandomState(333)二、亂序
1. numpy.random.shuffle(x)
沿多維數組的第一維打亂數組/列表,只改變順序內容保持不變。
# 打亂一維數組 >>> arr = np.arange(10) >>> np.random.shuffle(arr) >>> arr [1 7 5 2 9 4 3 6 0 8]# 打亂二維數組 >>> arr = np.arange(9).reshape((3, 3)) >>> np.random.shuffle(arr) >>> arr array([[3, 4, 5],[6, 7, 8],[0, 1, 2]])2. numpy.random.permutation(x )
如果x是整數,則隨機打亂np.arange(x)。如果x是一個數組,則復制并隨機打亂元素。如果x是一個多維數組,則沿著它的第一個索引進行打亂。
# 打亂一維數組 >>> np.random.permutation(10) array([1, 7, 4, 3, 0, 9, 2, 5, 8, 6])# 打亂一維數組 np.random.permutation([1, 4, 9, 12, 15]) array([15, 1, 9, 4, 12])# 打亂二維數組 >>> arr = np.arange(9).reshape((3, 3)) >>> np.random.permutation(arr) array([[6, 7, 8],[0, 1, 2],[3, 4, 5]])總結
以上是生活随笔為你收集整理的Numpy 生成随机数和乱序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于vue-cli3中配置请求跨域的问题
- 下一篇: Pandas 操作 csv 文件