numpy学习笔记(一)

大家点个赞吧!!!

下列所陈述的并非全都是矩阵操作,也可以是数组列表。

1、数组/矩阵的维数:

sth.ndim

2、数组/矩阵的形状:

sth.shape

3、数组/矩阵的尺寸:

sth.size

4、生成多少个数:

b=np.arange(4)  #生成0,1,2,3

5、判断矩阵中的元素是否小于某个值:

print(b<3)

6、改变矩阵的形状:

sth.reshape((2,2)) #变为2X2矩阵

7、两个矩阵相乘:

np.dot(a,b) 、a.dot(b)

8、生成某个形状的随机矩阵:

np.random.random((2,4))
np.sum(a)   # 4.4043622002745959
np.min(a)   # 0.23651223533671784
np.max(a)   # 0.90438450240606416

9、对行或者列进行查找运算,当axis的值为0的时候,将会以列作为查找单元, 当axis的值为1的时候,将会以行作为查找单元。

np.sum(a,axis=1)
np.min(a,axis=0)
np.max(a,axis=1)

10、求矩阵中最小元素和最大元素的索引:

print(np.argmin(A))    # 0
print(np.argmax(A))    # 11

11、统计中的均值:

print(np.cumsum(A))  #后一个函数为前一堆函数之和
print(np.diff(A))    #累差运算函数,每一行中后一项与前一项之差

12、累加函数:

print(np.cumsum(A))  #后一个函数为前一堆函数之和
print(np.diff(A))    #累差运算函数,每一行中后一项与前一项之差

13、生成逆序矩阵

A = np.arange(14,2, -1).reshape((3,4)) 
print(np.sort(A))    #排序A中的元素,按照行排序,从大到小

14、矩阵的转置有两种:

print(np.transpose(A))    
print(A.T)

15、筛选矩阵某个范围内的值:

print(np.clip(A,5,9))  

16、一维和二维索引:

import numpy as np
A = np.arange(3,15)
# array([3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14])  
print(A[3])         # 6 一维输出
A = np.arange(3,15).reshape((3,4)) #将一维换为二维的三行四列
print(A[1][1])      # 8
print(A[1, 1])      # 8
print(A[1, 1:3])    # [8 9]

17、将得到的矩阵逐行逐列输出:

for row in A: #逐行输出
for column in A: #逐列输出A矩阵

18、利用flatten()函数输出矩阵:将矩阵每个元素一个一个输出

mport numpy as np
A = np.arange(3,15).reshape((3,4))     
print(A.flatten())   
# array([3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14])
for item in A.flat:
    print(item)
# 3
# 4
……
# 14

19、合并两个数组

#上下合并 np.vstack
import numpy as np
A = np.array([1,1,1])
B = np.array([2,2,2])    
print(np.vstack((A,B)))    # vertical stack
"""
[[1,1,1]
 [2,2,2]]
"""
#左右合并 np.hstack()
D = np.hstack((A,B))       # horizontal stack
print(D)
# [1,1,1,2,2,2]
print(A.shape,D.shape)
# (3,) (6,)
np.newaxis()

20、将数组转置的函数 np.newaxis()

print(A[np.newaxis,:])
# [[1 1 1]]
print(A[np.newaxis,:].shape)
# (1,3)
print(A[:,np.newaxis])
"""
[[1]
[1]
[1]]
"""
print(A[:,np.newaxis].shape)
# (3,1)
#综合知识
import numpy as np
A = np.array([1,1,1])[:,np.newaxis]
B = np.array([2,2,2])[:,np.newaxis]
C = np.vstack((A,B))   # vertical stack
D = np.hstack((A,B))   # horizontal stack
print(D)
"""
[[1 2]
[1 2]
[1 2]]
"""
print(A.shape,D.shape)
# (3,1) (3,2)

21、np.concatenate()

C = np.concatenate((A,B,B,A),axis=0)
print(C)
"""
array([[1],
       [1],
       [1],
       [2],
       [2],
       [2],
       [2],
       [2],
       [2],
       [1],
       [1],
       [1]])
"""
D = np.concatenate((A,B,B,A),axis=1)
print(D)
"""
array([[1, 2, 2, 1],
       [1, 2, 2, 1],
       [1, 2, 2, 1]])
"""
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值