numpy学习(一)
import numpy as np
#定义一个数组
arr=np.array([[1,2,3],[2,3,4]])
print(arr)
[[1 2 3]
[2 3 4]]
#数组的维数
arr.ndim
2
#数组几行几列
arr.shape
(2, 3)
#数组的长度
arr.size
6
#定义类型 int64/32 float32/64 32和64的区别在于精度
a=np.array([1,25,5],dtype=np.float32)
print(a)
[ 1. 25. 5.]
#生成0矩阵 括号内是几行几列
np.zeros((3,4))
array([[0., 0., 0., 0.],
[0., 0., 0., 0.],
[0., 0., 0., 0.]])
#生成全是1的矩阵
np.ones((3,4),dtype=np.int16)
array([[1, 1, 1, 1],
[1, 1, 1, 1],
[1, 1, 1, 1]], dtype=int16)
#生成空矩阵
print(np.empty((3,4)))
[[1. 1. 1. 1.]
[1. 1. 1. 1.]
[1. 1. 1. 1.]]
#生成有序数列 (起始位置,结束位置但不包含结束位置,步长)
a=np.arange(10,22,2)
a
array([10, 12, 14, 16, 18, 20])
#将a矩阵重新定义为新的矩阵
a.reshape((2,3))
array([[10, 12, 14],
[16, 18, 20]])
#生成线段 (起始位置,结束位置,分成几段)
a=np.linspace(1,10,5)
print(a)
[ 1. 3.25 5.5 7.75 10. ]
a=np.array([1,2,3])
b=np.array([2,4,5])
a*b
array([ 2, 8, 15])
a+b
array([3, 6, 8])
a-b
array([-1, -2, -2])
10*np.sin(a)
array([8.41470985, 9.09297427, 1.41120008])
10*np.tan(a)
array([ 15.57407725, -21.85039863, -1.42546543])
10*np.arctan(a)
array([ 7.85398163, 11.07148718, 12.49045772])
#a里面小于3的数
a<3
array([ True, True, False])
c=np.array([[1,2],[7,8]])
arr=np.array([[3,4],[5,6]])
#普通乘法
arr*c
array([[ 3, 8],
[35, 48]])
#矩阵乘法
np.dot(arr,c)
c.dot(arr)
array([[13, 16],
[61, 76]])
#随机生成矩阵 (行,列)
arr=np.random.random((2,4))
arr
array([[0.56470368, 0.41067008, 0.15386721, 0.34974939],
[0.55368345, 0.59453843, 0.21788333, 0.12198785]])
np.sum(arr)
2.967083425919822
#每行计算一次
np.sum(arr,axis=1)
array([1.47899036, 1.48809307])
#每列计算一次
np.sum(arr,axis=0)
array([1.11838713, 1.00520851, 0.37175054, 0.47173724])
#求最大值,其余操作同上
np.max(arr)
0.5945384330210628
第一期结束
来源:CSDN
作者:告诉我怎么起名
链接:https://blog.csdn.net/qq_42696455/article/details/104417281