#numpy常用函数
import numpy as np
B = np.arange(3)
print(B)
""" .exp 打印出e的相应次幂,e的0次幂,1次幂,2次幂"""
print(np.exp(B))
""".sqrt 打印平方根"""
print(np.sqrt(B))
import numpy as np
""" .floor 意思是打印出来的是floor类型的数值,10的意思是在0到10的范围内随机挑选数值组成三行四列的矩阵"""
a = np.floor(10*np.random.random((3,4)))
print(a)
"""[[5. 2. 2. 7.]
[9. 8. 9. 9.]
[5. 4. 3. 9.]]"""
#*******************************************
""" .ravel 将矩阵转换为一维向量"""
print(a.ravel())
"""[2. 8. 0. 2. 6. 7. 6. 0. 4. 8. 3. 3.]"""
#*******************************************
""" .shape(a,b)是将矩阵转换为a行b列的新矩阵"""
a.shape = (2,6)
print(a)
"""[[8. 6. 1. 5. 0. 7.]
[5. 9. 4. 7. 6. 1.]]"""
#*******************************************
print(a.T) #矩阵转置
"""[[9. 2.]
[1. 9.]
[5. 6.]
[2. 3.]
[9. 9.]
[4. 9.]]"""
a = np.floor(10*np.random.random((2,2)))
b = np.floor(10*np.random.random((2,2)))
print(a)
"""[[4. 6.]
[0. 3.]]"""
#**************************************************
print(b)
"""[[7. 4.]
[2. 2.]]"""
#**************************************************
"""矩阵拼接 .vstack是行拼接, .hstack是列拼接"""
print(np.vstack((a,b)))
"""[[4. 6.]
[0. 3.]
[7. 4.]
[2. 2.]]"""
#********************************************
print(np.hstack((a,b)))
"""[[4. 6. 7. 4.]
[0. 3. 2. 2.]]"""
import numpy as np
"""矩阵切分,.hsplit按行切, .splitan按列切"""
a = np.floor(10*np.random.random((2,12)))
print(a)
"""[[0. 0. 0. 9. 6. 1. 1. 6. 0. 0. 9. 9.]
[4. 5. 2. 5. 0. 1. 6. 6. 3. 0. 9. 5.]]"""
#*********************************************
"""将a矩阵平均分为三块"""
print(np.hsplit(a,3))
"""[array([[0., 0., 0., 9.],
[4., 5., 2., 5.]]),
array([[6., 1., 1., 6.],
[0., 1., 6., 6.]]),
array([[0., 0., 9., 9.],
[3., 0., 9., 5.]])]"""
#********************************************
"""在矩阵的第三列和第四列后面进行切割"""
print(np.hsplit(a,(3,4)))
"""[array([[0., 0., 0.],
[4., 5., 2.]]),
array([[9.],
[5.]]),
array([[6., 1., 1., 6., 0., 0., 9., 9.],
[0., 1., 6., 6., 3., 0., 9., 5.]])]"""
#*********************************************
b = np.floor(10*np.random.random((12,2)))
print(b)
"""[[3. 6.]
[0. 9.]
[8. 0.]
[1. 2.]
[2. 3.]
[9. 9.]
[1. 2.]
[1. 1.]
[0. 5.]
[8. 9.]
[7. 1.]
[0. 9.]]"""
print(np.vsplit(b,3))
"""[array([[3., 6.],
[0., 9.],
[8., 0.],
[1., 2.]]),
array([[2., 3.],
[9., 9.],
[1., 2.],
[1., 1.]]),
array([[0., 5.],
[8., 9.],
[7., 1.],
[0., 9.]])]"""
import numpy as np
"""矩阵的复制
b = a
如果你想用a 矩阵和b 矩阵相同,直接写a = b,接下来你对a进行相应的操作b也会跟着变化"""
"""b = a.copy()
对b进行操作,a矩阵不会变化
"""
import numpy as np
data = np.sin(np.arange(20).reshape(5,4))
print(data)
"""[[ 0. 0.84147098 0.90929743 0.14112001]
[-0.7568025 -0.95892427 -0.2794155 0.6569866 ]
[ 0.98935825 0.41211849 -0.54402111 -0.99999021]
[-0.53657292 0.42016704 0.99060736 0.65028784]
[-0.28790332 -0.96139749 -0.75098725 0.14987721]]"""
ind = data.argmax(axis = 0)#axis = 0 指明从每列开始查找 .argmax 打印每列最大数的位置
print(ind)
"""
[2 0 3 1]
"""
import numpy as np
a = np.arange(0,30,10)
print(a)
"""[ 0 10 20]"""
b = np.tile(a,(2,2))
print(b)
"""[[ 0 10 20 0 10 20]
[ 0 10 20 0 10 20]]"""
import numpy as np
a = np.array([[4,3,5],[3,1,2]])
print(a)
"""[[4 3 5]
[3 1 2]]"""
#****************************
b = np.sort(a,axis = 1)
print(b)
"""[[3 4 5]
[1 2 3]]"""
#******************************
c = np.array([2,5,3,9,6])
j = np.argsort(c)
print(j)
"""
[0 2 1 4 3]
"""
print(c[j])
"""
[2 3 5 6 9]
"""