Numpy 是一个为python提供高性能向量、矩阵和高维数据结构的科学计算库。Numpy主要运算对象是多维数组。以下是array产生的几种方式:

#自定义数组

import numpy as np

a=np.array([1,2,3])#一维数组

b=np.array([[1,2,3],[4,5,6]],dtype='float')#二维数组

c=np.array([3,2],ndmin=2)#二维数组

print(a)

print(b)

print(c)

#利用function产生等差等比数列的方法

d=np.arange(10,50,5).reshape(2,-1)#arange创造从10开始,50结束,以5为等差的数列

print(d)

e=np.linspace(0,2,6)#利用linspace产生等差数列

print(e)

f=np.logspace(0,9,10,base=2).reshape(2,-1)#利用logspace产生等差数列

print(f)

g=np.zeros((3,4,2))

print(g)

h=np.ones((3,4))

print(h)

运行结果:

#产生随机数组

什么是随机数?

随机数并不意味着每次都有不同的数字。

随机意味着无法在逻辑上预测的事物。

伪随机数和真随机数-计算机在程序上工作,程序是既定的一些指令集。 因此这意味着还必须有某种算法来生成随机数。如果有一个程序可以生成随机数,则可以预测它,因此它并不是真正的随机性。通过算法生成的随机数称为伪随机数。

数据分布-数据分布是所有可能值以及每个值出现的频率的列表。此类列表在使用统计和数据科学时很重要。random模块提供了返回随机生成的数据分布的方法。

代码练习:

#NumPy提供了随机模块来处理随机数

from numpy import random

a = random.randint(100)

print(a)

运行结果:

53

#生成浮点数从0到1

b=random.rand()#生成一个

print(b)

运行结果:

0.4743341027922433

c=random.rand(5)#生成五个

print(c)

运行结果:

[ 0.345177 0.62233778 0.09017036 0.6176777 0.60385378]

#生成数列

x=random.randint(100,size=5) #一维

y=random.randint(100,size=(3,5))#二维

z=random.randint(100,size=(3,5,5))#三维

print(x)

print(y)

print(z)

运行结果:

[25 96 20 26 90]

[[94 88 54 83 25]

[83 71 88 1 71]

[32 5 91 9 87]]

[[[73 45 10 17 92]

[87 51 24 0 17]

[99 81 3 80 37]

[76 25 15 60 86]

[34 78 21 35 92]]

[[10 81 42 4 88]

[11 75 28 92 94]

[20 83 29 83 59]

[76 35 73 32 7]

[37 78 79 88 75]]

[[63 45 47 12 43]

[ 2 55 45 59 6]

[80 24 17 61 10]

[77 78 31 20 33]

[20 3 62 66 90]]]

#随机生成数组

d=random.choice([3,4,5,6,7,8],size=(3,5))

print(d)

运行结果:

[[6 8 8 6 8]

[8 5 6 3 3]

[3 6 3 4 7]]

#按照数据分布要求生成数组

from numpy import random

x = random.choice([3, 5, 7, 9], p=[0.1, 0.3, 0.6, 0.0], size=(3,5))

print(x)

运行结果:

[[5 5 7 7 5]

[5 7 7 7 7]

[5 7 5 7 5]]

#shuffle意味着在数组本身中,更改元素的排列

from numpy import random

import numpy as np

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

random.shuffle(arr)

print(arr)

运行结果:

[5 4 3 2 1]

#permutation()方法返回一个重新排列的数组(并使原始数组保持不变)

from numpy import random

import numpy as np

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

print(random.permutation(arr))

print(arr)

运行结果:

[5 2 1 4 3]

[1 2 3 4 5]

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐