Python numpy random randn函数返回来自标准正态分布的随机数数组,其语法为:
numpy.random.randn(d0, d1, d2, d3,……, dn)
d0, d1, d2, d3,......, dn 参数值是可选的,它们指定了数组的尺寸。如果我们提供正数参数,随机randn函数会生成一个充满随机浮点数的给定形状。
Python numpy random randn 示例
如果你没有提供任何参数值,那么Python numpy random randn返回一个浮点数。否则,这个函数返回一个ndarray。在这个例子中,我们使用这个函数,没有任何参数。
import numpy as np
randnArr1 = np.random.randn()
print(randnArr1)
print()
randnArr2 = np.random.randn()
print(randnArr2)
-0.1190630720571025
0.13108588886851796
Python numpy random randn 1D Array
在这里,带有参数(5)的函数创建了一个一维数组,并且用任意的数字填充它们。
import numpy as np
randnOneDArr1 = np.random.randn(5)
print(randnOneDArr1)
print()
randnOneDArr2 = np.random.randn(8)
print(randnOneDArr2)
[-0.15532315 1.48066508 0.02134949 1.42327666 0.35529594]
[-1.08493387 -0.33618251 1.6513366 -0.76712552 0.20014333 -0.09537157
0.12968054 -1.06886917]
二维 randn 随机数组
import numpy as np
randnTwoDArr1 = np.random.randn(2, 3)
print(randnTwoDArr1)
print()
randnTwoDArr2 = np.random.randn(4, 5)
print(randnTwoDArr2)
[[ 1.16499735 -0.29089086 -0.61637367]
[-1.33852303 -1.55360179 -0.57502968]]
[[-1.19540849 -1.26507447 0.42922849 -0.99128182 -0.56647817]
[-0.18800185 -1.3729178 -0.06733882 0.21002692 0.97676689]
[-0.07614783 1.66854604 1.43727936 1.10420558 -0.47618305]
[-0.84303037 0.80345969 0.43075844 -0.52133616 0.39946079]]
三维数组
import numpy as np
randnThreeDArr1 = np.random.randn(2, 2, 3)
print(randnThreeDArr1)
print()
randnThreeDArr2 = np.random.randn(2, 4, 5)
print(randnThreeDArr2)
多维随机randn数组
import numpy as np
randnThreeDArr1 = np.random.randn(2, 2, 2, 3)
print(randnThreeDArr1)
print()
randnThreeDArr2 = np.random.randn(2, 2, 2, 2, 4)
print(randnThreeDArr2)
[[[[-0.49003723 0.10538309 1.00878589]
[-1.04090049 -0.12316203 -2.71174546]]
[[ 0.64973719 0.7905445 -2.21885022]
[-0.42551294 0.07225683 0.06877539]]]
[[[-1.31479185 -0.02534445 0.40838083]
[-1.41941676 1.4174154 1.00272178]]
[[ 1.67533883 -0.73425059 0.4134018 ]
[ 1.0205856 0.81890094 0.70149338]]]]
[[[[[-0.21434075 -0.34164547 -0.00858992 -0.49217858]
[ 1.0692015 -0.45626313 -0.74388692 0.04669171]]
[[ 0.5586004 0.4855915 -1.01220602 1.19120821]
[-0.16605316 1.14090238 0.03363894 -1.11966274]]]
[[[ 1.74147131 -0.59825137 -1.10534603 -0.62323573]
[ 0.38333497 0.24989126 -0.43793776 0.38728504]]
[[-0.9094845 0.50144625 -0.03183788 1.51701865]
[ 0.72316509 -0.3764924 -0.79577108 -0.1124155 ]]]]
[[[[-0.06678042 -0.71614296 -0.56540373 -0.23460517]
[-1.43545586 0.19400586 -0.46936663 0.22060458]]
[[-1.63621087 -1.04987423 -0.92225825 -0.10737135]
[-1.31863337 1.39154389 -0.56283176 1.20248983]]]
[[[ 1.88742062 0.69761658 0.01897559 0.46728448]
[ 0.75501117 1.08072768 0.66426271 0.13344399]]
[[-1.36858917 1.48854343 0.4055712 -0.52813708]
[-0.45967513 -0.64985973 -0.42966048 -0.56245859]]]]]
除此以外,我们还可以对其进行计算或算术操作。
import numpy as np
randnThreeDArr1 = np.random.randn(2, 3)
print(randnThreeDArr1)
print("\\nrandn random array multiplies with 12 = \\n", randnThreeDArr1 \* 12)
print("\\n2D random randn array multiplies with 15 and added 4 to it")
print(np.random.randn(2, 3) \* 15 + 4)
print("\\n3D random randn array multiplies with 9 and added 11 to it")
print(np.random.randn(2, 2, 3) \* 9 + 11)
[[-0.37226814 1.45008532 1.23092693]
[ 0.56230156 -0.47328258 -0.36321147]]
randn random array multiplies with 12 =
[[-4.46721768 17.4010238 14.77112321]
[ 6.74761877 -5.67939092 -4.35853763]]
2D random randn array multiplies with 15 and added 4 to it
[[ 3.69442594 -2.0569281 10.45519936]
[ 22.77077114 -12.65088561 -14.92586724]]
3D random randn array multiplies with 9 and added 11 to it
[[[-1.22722572 8.52319722 1.47347351]
[ 0.40692321 7.12153801 3.69733377]]
[[21.83366764 11.02923414 7.50767092]
[ 6.0678307 -2.95467098 23.18938078]]]