Numpy学习(二)

numpy创建数组

关键字:

array:创建数组
dtype:制定数组中数据类型
zeros:创建一个全0的数组
ones:创建一个全1的数组
empty:创建一个数据接近0的数组
arange:按指定范围创建数组
linspace:创建线段数组

array

a=np.array([2,23,4])
print(a)

out : [2 23 4]

dtype

a=np.array([2.5,3.6,2.8],dtype=np.float)
print(a)
print(a.dtype)

out : [ 2.5 3.6 2.8]
out : float64

zeros

a=np.zeros((3,4))
print(a)


out : [[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]

a=np.zeros((3,4),dtype=np.int)
print(a)

out : [[0 0 0 0]
[0 0 0 0]
[0 0 0 0]]

empty

a=np.empty((3,4),dtype=np.float32)
print(a)

out : [[ 0.00000000e+00 0.00000000e+00 1.52899375e-38 0.00000000e+00]
[ -2.60586421e-06 4.58280650e-41 1.50495868e-38 0.00000000e+00]
[ -3.23143478e-22 4.58280650e-41 -3.25523036e-22 4.58280650e-41]]


arange

a=np.arange(10,20,2) #从10到20,步长为2
print(a)

out : [10 12 14 16 18]

reshape

a=np.arange(12).reshape((3,4)) #将数组重组为3*4的矩阵
print(a)

out :[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]

linspace

a=np.linspace(1,10,5) #定义线段始端1和末端10,并将其分割成5段
print(a)

out : [ 1. 3.25 5.5 7.75 10. ]

数组的运算

a=np.array([10,20,30,40])
b=np.arange(4)
print(a)
print(b)
c1=a+b
c2=a-b
c3=a*b #对应点相乘
c4=a**2 #a的乘方
c5=a*np.sin(a)
print(c1)
print(c2)
print(c3)
print(c4)
print(c5)
print(b<3) #判断数组中哪一个数小于3,返回bool类型
a=a.reshape((2,2))
b=b.reshape((2,2))
c6=np.dot(a,b)

out : [10 20 30 40]
out : [0 1 2 3]
out : [10 21 32 43]
out : [10 19 28 37]
out : [ 0 20 60 120]
out : [ 100 400 900 1600]
out : [ -5.44021111 18.25890501 -29.64094872 29.80452642]
out : [ True True True False]
out : [[ 40 70]
[ 80 150]]

随机初始化一个数组:

a=np.random.random((2,4))
print(a)
c=np.sum(a)
c1=np.min(a)
c2=np.max(a)
c3=np.max(a,axis=0)#对每一列找到最大值,若axis=0,则对每一行找到最大值
print(c)
print(c1)
print(c2)
print(c3)
print(np.argmin(a)) #找到值最小的位置
print(np.mean(a)) #求均值
print(np.median(a)) #求中位数
print(np.cumsum(a)) #逐次累加
print(np.diff(a)) #逐次累差
print(np.nonzero(a)) #找到所有非0行的位置,行列表示
print(np.sort(a)) #每一行排序
print(a.T) #对矩阵转置
print(np.clip(a,0.5,0.9)) #小于0.5的全为0.5,大于0.9的全为0.9

out : [[ 0.00716908 0.79335954 0.60037437 0.8062027 ]
[ 0.39629267 0.47545838 0.21197264 0.86503302]]
out : 4.15586239762
out : 0.0071690770571
out : 0.865033016248
out : [ 0.39629267 0.79335954 0.60037437 0.86503302]
out : 0
out : 0.519482799702
out : 0.537916372347
out : [ 0.00716908 0.80052862 1.40090299 2.20710569 2.60339836 3.07885674
3.29082938 4.1558624 ]
out : [[ 0.78619047 -0.19298518 0.20582834]
[ 0.07916571 -0.26348573 0.65306037]]
out : (array([0, 0, 0, 0, 1, 1, 1, 1]), array([0, 1, 2, 3, 0, 1, 2, 3])) #行,列
out : [[ 0.00716908 0.60037437 0.79335954 0.8062027 ]
[ 0.21197264 0.39629267 0.47545838 0.86503302]]
out : [[ 0.00716908 0.39629267]
[ 0.79335954 0.47545838]
[ 0.60037437 0.21197264]
[ 0.8062027 0.86503302]]
out : [[ 0.5 0.79335954 0.60037437 0.8062027 ]
[ 0.5 0.5 0.5 0.86503302]]

>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值