numpy学习笔记

莫烦Python

numpy学习笔记

基本用法

a = np.array([1,2 ,3])
#  [1 2 3]

a = np.array([[1,2 ,3],[4,5,6]])
# [[1 2 3]
#  [4 5 6]]

a = np.array([1,2 ,3],dtype=np.int)
# int32默认32

a = np.zeros((3,4),dtype=np.int)
# [[0 0 0 0]
#  [0 0 0 0]
#  [0 0 0 0]]

a = np.ones((3,4),dtype=np.int)
# [[1 1 1 1]
#  [1 1 1 1]
#  [1 1 1 1]]

a = np.empty((3,4)) 生成特别小的数
# [[6.9531115e-310 0.0000000e+000 0.0000000e+000 0.0000000e+000]
#  [0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000]
#  [0.0000000e+000 0.0000000e+000 0.0000000e+000 0.0000000e+000]]

a = np.arange(1,10,1)19,步长为1
# [1 2 3 4 5 6 7 8 9]

a = np.linspace(1,10,5)110之间的数的线段,分割成5段
# [ 1.    3.25  5.5   7.75 10.  ]

a = np.linspace(1,10,6).reshape((2,3))
# [[ 1.   2.8  4.6]
#  [ 6.4  8.2 10. ]]

基本运算1

a = np.array([10,20,30,40])
b = np.arange(4)
c = a - b
# [10 19 28 37]
c = a + b
# [10 21 32 43]
c = a*b
# [  0  20  60 120]
c = b**2 # 求平方
# [0 1 4 9]
c = np.sin(a)
# [-0.54402111  0.91294525 -0.98803162  0.74511316]

a = np.array([[1,1],[0,1]])
b = np.arange(4).reshape((2,2))
c_dot = np.dot(a,b) #c_dot = a.dot(b)
# [[2 4]
#  [2 3]]

a=np.random.random((2,4))
print(a)
print("sum=",np.sum(a))
print("min=",np.min(a))
print("max=",np.max(a))
# [[0.49968695 0.56296219 0.60491734 0.73709184]
#  [0.58741404 0.72642106 0.37210879 0.34960239]]
# sum= 4.440204586253255
# min= 0.34960238546006206
# max= 0.7370918366615277

# 当axis的值为0的时候,将会以列作为查找单元, 当axis的值为1的时候,将会以行作为查找单元
print("sum=",np.sum(a,axis=1))
print("min=",np.min(a,axis=0))
print("max=",np.max(a,axis=1))
# [[0.52435925 0.34325065 0.58458481 0.26320022]
#  [0.82602277 0.39915493 0.06400526 0.1963304 ]]
# sum= [1.71539495 1.48551335]
# min= [0.52435925 0.34325065 0.06400526 0.1963304 ]
# max= [0.58458481 0.82602277]

A = np.arange(2,14).reshape((3,4))
print(A)
# [[ 2  3  4  5]
#  [ 6  7  8  9]
#  [10 11 12 13]]
print(np.argmin(A))# 0
print(np.argmax(A))# 11

基本运算2

# 求平均
print(np.mean(A))    # 7.5
print(np.average(A)) # 7.5
print(A.mean())      # 7.5

# 求中位数
print(np.median(A))   # 7.5

# 累加
print(np.cumsum(A))
# [ 2  5  9 14 20 27 35 44 54 65 77 90]

# 累差
print(np.diff(A))
# [[1 1 1]
#  [1 1 1]
#  [1 1 1]]

# nonzero()函数,输出非零坐标
print(np.nonzero(A))
# (array([0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2], dtype=int64),
#  array([0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3], dtype=int64))

# 排序
A = np.arange(14,2,-1).reshape((3,4))
print(A)
print(np.sort(A))
# [[14 13 12 11]
#  [10  9  8  7]
#  [ 6  5  4  3]]
# [[11 12 13 14]
#  [ 7  8  9 10]
#  [ 3  4  5  6]]

# 转置
A = np.arange(2,14).reshape((3,4))
print(A)
print(np.transpose(A)) # print(A.T)
# [[ 2  3  4  5]
#  [ 6  7  8  9]
#  [10 11 12 13]]
# [[ 2  6 10]
#  [ 3  7 11]
#  [ 4  8 12]
#  [ 5  9 13]]

# clip(Array,Array_min,Array_max)函数
print(np.clip(A,5,9))
# [[5 5 5 5]
#  [6 7 8 9]
#  [9 9 9 9]]

矩阵合并

A = np.array([1,1,1])
B = np.array([2,2,2])
print(A) # [1 1 1]
print(B) # [2 2 2]

print(np.vstack((A,B))) # vertical stack
# [[1 1 1]
#  [2 2 2]]

print(np.hstack((A,B))) # horizontal stack
# [1 1 1 2 2 2]

# np.newaxis()
print(A[np.newaxis,:])
# [[1 1 1]]

print(A[:,np.newaxis])
# [[1]
#  [1]
#  [1]]

# np.concatenate()
A = np.array([1,1,1])[:,np.newaxis]
B = np.array([2,2,2])[:,np.newaxis]
print(A)
# [[1]
#  [1]
#  [1]]
print(B)
# [[2]
#  [2]
#  [2]]

C = np.concatenate((A,B,B,A),axis=0)
# [[1]
#  [1]
#  [1]
#  [2]
#  [2]
#  [2]
#  [2]
#  [2]
#  [2]
#  [1]
#  [1]
#  [1]]

C = np.concatenate((A,B,B,A),axis=1)
# [[1 2 2 1]
#  [1 2 2 1]
#  [1 2 2 1]]

矩阵分割

A = np.arange(12).reshape((3,4))
print(A)
# [[ 0  1  2  3]
#  [ 4  5  6  7]
#  [ 8  9 10 11]]

# 纵向分割
print(np.split(A,2,axis=1))
# [array([[0, 1],
#         [4, 5],
#         [8, 9]]),
#  array([[ 2,  3],
#         [ 6,  7],
#         [10, 11]])]

#横向分割
print(np.split(A,3,axis=0))
# [array([[0, 1, 2, 3]]), array([[4, 5, 6, 7]]), array([[ 8,  9, 10, 11]])]

# 不等量分割
print(np.array_split(A,3,axis=1))
# [array([[0, 1],
#         [4, 5],
#         [8, 9]]),
#  array([[ 2],
#         [ 6],
#         [10]]),
#  array([[ 3],
#         [ 7],
#         [11]])]

print(np.vsplit(A, 3)) #等于 print(np.split(A, 3, axis=0))

# [array([[0, 1, 2, 3]]), array([[4, 5, 6, 7]]), array([[ 8,  9, 10, 11]])]


print(np.hsplit(A, 2)) #等于 print(np.split(A, 2, axis=1))

# [array([[0, 1],
#         [4, 5],
#         [8, 9]]),
# array([[ 2,  3],
#        [ 6,  7],
#        [10, 11]])]
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值