import numpy as np
B=np.arange(3)
print(B) #[0,1,2]
print(np.exp(B)) #e的次方
print(np.sqrt(B)) #对B开根号
[0 1 2] [1. 2.71828183 7.3890561 ] [0. 1. 1.41421356]
a=np.floor(10*np.random.random((3,4)))
print(np.random.random((3,4)))
print(a)
print(a.shape)
print(a.ravel()) #ravel函数将多维扁平成一维
a.shape=(6,2)
print(a)
a.shape=(4,3)
print(a)
print(a.T)
a.resize((2,6))
#resize函数可以改变数组的形状,但不会改变数组中的元素数量。
#如果新数组的大小大于原数组,多余的元素将被填充为0;
#如果新数组的大小小于原数组,多余的元素将被删除
print(a)
a.reshape(3,-1)#把矩阵a分成3行
#a.reshape(5,-1)#会报错,因为不是5的倍数
[[0.87216183 0.24670074 0.16706442 0.33512226] [0.81821167 0.87226909 0.29881708 0.80248633] [0.5820288 0.23169865 0.5589441 0.35232788]] [[3. 5. 7. 4.] [6. 8. 5. 1.] [6. 1. 7. 8.]] (3, 4) [3. 5. 7. 4. 6. 8. 5. 1. 6. 1. 7. 8.] [[3. 5.] [7. 4.] [6. 8.] [5. 1.] [6. 1.] [7. 8.]] [[3. 5. 7.] [4. 6. 8.] [5. 1. 6.] [1. 7. 8.]] [[3. 4. 5. 1.] [5. 6. 1. 7.] [7. 8. 6. 8.]] [[3. 5. 7. 4. 6. 8.] [5. 1. 6. 1. 7. 8.]]
Out[28]:
array([[3., 5., 7., 4.], [6., 8., 5., 1.], [6., 1., 7., 8.]])
a=np.floor(10*np.random.random((2,2)))
b=np.floor(10*np.random.random((2,2)))
print(a)
print('_____________')
print(b)
print('_____________')
print(np.hstack((a,b))) #a,b横放一起
[[1. 5.] [5. 4.]] _____________ [[7. 1.] [1. 9.]] _____________ [[1. 5. 7. 1.] [5. 4. 1. 9.]]
a=np.floor(10*np.random.random((2,12)))
print(a)
print(np.hsplit(a,3))
[[2. 6. 1. 2. 7. 3. 2. 7. 8. 0. 0. 7.] [6. 3. 2. 5. 4. 1. 9. 0. 0. 0. 4. 2.]] [array([[2., 6., 1., 2.], [6., 3., 2., 5.]]), array([[7., 3., 2., 7.], [4., 1., 9., 0.]]), array([[8., 0., 0., 7.], [0., 0., 4., 2.]])]
print(np.hsplit(a,(3,4))) #在第三列和第四列之后分割a
[array([[2., 6., 1.], [6., 3., 2.]]), array([[2.], [5.]]), array([[7., 3., 2., 7., 8., 0., 0., 7.], [4., 1., 9., 0., 0., 0., 4., 2.]])]
a=np.floor(10*np.random.random((12,2)))
print(a)
[[5. 6.] [5. 4.] [7. 8.] [2. 7.] [8. 4.] [2. 5.] [4. 0.] [4. 3.] [6. 6.] [2. 5.] [1. 9.] [0. 2.]]
print(np.vsplit(a,3))
"""np.vsplit(a, 3) 是 NumPy 库中的一个函数,用于按照垂直(行)方向将数组 a 切割成 3 个部分。要求数组的行数能够被 3 整除。切割后返回的是一个包含 3 个数组的列表,每个数组的行数相同。
如果 a 的形状不符合要求,比如行数无法被 3 整除,会抛出"""
[array([[5., 6.], [5., 4.], [7., 8.], [2., 7.]]), array([[8., 4.], [2., 5.], [4., 0.], [4., 3.]]), array([[6., 6.], [2., 5.], [1., 9.], [0., 2.]])]
Out[9]:
'np.vsplit(a, 3) 是 NumPy 库中的一个函数,用于按照垂直(行)方向将数组 a 切割成 3 个部分。要求数组的行数能够被 3 整除。切割后返回的是一个包含 3 个数组的列表,每个数组的行数相同。\n\n如果 a 的形状不符合要求,比如行数无法被 3 整除,会抛出'
a=np.arange(12) print(a) b=a b is a b.shape=(3,4) print(b) print(a.shape) #因为简单赋值,不复制数组对象及其数据 print(id(a)) print(id(b))
[ 0 1 2 3 4 5 6 7 8 9 10 11] [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] (3, 4) 1419663550064 1419663550064
c=a.view() #view方法创建一个新的数组对象来查看相同的数据
c is a
c.shape=(2,6)
print(c.shape)
print(a.shape)
c[0,4]=1234
print(c)
print(a)
(2, 6) (3, 4) [[ 0 1 2 3 1234 5] [ 6 7 8 9 10 11]] [[ 0 1 2 3] [1234 5 6 7] [ 8 9 10 11]] 1419663595280 1419663550064
d=a.copy() #copy方法对数组及其数据进行完整的拷贝
d is a
d[0,0]=9999
print(d)
print(a)
[[9999 1 2 3] [1234 5 6 7] [ 8 9 10 11]] [[ 0 1 2 3] [1234 5 6 7] [ 8 9 10 11]] 1419663593680 1419663550064标签:10,练习,random,基础,np,数组,print,array,Numpy From: https://blog.csdn.net/PPTsdn/article/details/143271776