【TensorFlow】Numpy常用函数汇总(附源码)

以下内容是我在学习Numpy时,写的实例,每一个模块都可以运行,并比较不同函数之间的差别。
import numpy as np
#dtype 定义numpy的存储类型(np.int np.float),默认是64
'''
#定义矩阵格式
'''
[2,34,4]],dtype=np.int32)
b = np.ones((3,4),dtype = np.int32) #d单位矩阵
d = np.empty((3,4)) #定义空矩阵
e = np.arange(10,20,2) #arange(起始值 和 步长)
e1 = np.arange(12).reshape((3,4)) #整形
d = np.linspace(1,10,6).reshape((2,3)) #生成线段,(起始值,段数),自动计算步长
'''
#numpy的基础运算
'''
a = np.array([10,20,30,40])
b = np.arange(4)
c = a-b #加减运算
c = b**2 #平方运算
c = 10 * np.sin(a) #正余弦
print(b < 3) #判断矩阵里的值# < = > 都行
a = np.array([[1,2],
[2,3]]) #矩阵运算
b = np.arange(4).reshape(2,2)
c = a*b #普通乘法
c_dot = np.dot(a,b) #矩阵乘法
c_dot_2 = a.dot(b)
r = np.random.random((2,4)) #随机生成(2,4)序列

np.sum(r,axis = 1) #axis = 1:在每一列中计算,axis = 0 :在每一行中计算
np.min(r)
np.max(r)
'''
基础运算
'''
A = np.arange(2,14).reshape((3,4))
print(np.argmin(A)) #打印矩阵某个中的索引
print(np.argmax(A))
print(np.mean(A)) #平均值
print(A.mean)
print(np.cumsum(A)) #累加和/差
print(np.diff(A))
print(np.nonzero(A)) #输出行数和列数
print(np.sort(A)) #排序
print(np.transpose(A)) #转置
print(A.T.dot(A)) #转置,常用!!!
print(np.clip(A,5,9)) #截取 5-9 的数
print(np.mean(A,axis = 0)) #对行进行计算
'''
#索引
'''
A = np.arange(3,15).reshape((3,4))
print(A[2][1]) #索引第二行第一列
print(A[2,1])
print(A[2,:]) #第三行的数
print(A[1,1:3]) #第二行的 第2-3列的数
for row in A:
print(row) #迭代每一行
for col in A.T:
print(col) #迭代每一列
print(A.flatten()) #展成一行
for item in A.flat:
print(item) #打印每一项
'''
# numpy array 合并
'''
A = np.array([1,1,1])
B = np.array([2,2,2])

A = A[:,np.newaxis] #纵向加了一个维度
B = B[:,np.newaxis]

C = np.vstack((A,B)) #向下合并维矩阵
D = np.hstack((A,B)) #左右合并
print(A.shape,C.shape,D.shape) #查看
E = np.concatenate((A,B,B,A),axis = 1) #在上下方向合并,对行操作
print(E.shape)
'''
# numpy array 合并
'''
A = np.array([1,1,1])
B = np.array([2,2,2])

A = A[:,np.newaxis] #纵向加了一个维度
B = B[:,np.newaxis]

C = np.vstack((A,B)) #向下合并维矩阵
D = np.hstack((A,B)) #左右合并
print(A.shape,C.shape,D.shape) #查看
E = np.concatenate((A,B,B,A),axis = 1) #在上下方向合并,对行操作
print(E.shape)
'''
#numpy array分割
'''
A = np.arange(12).reshape((3,4))
'''
#np.array_split 不等量分割
'''
print(np.array_split(A,3,axis = 1)) #在纵向分成两列,aixs=1 对列操作
print(np.vsplit(A,3))
print(np.hsplit(A,4))
'''
#numpy - copy & deep copy
'''
a = np.arange(4)
b = a
c = a
d = b

a[0] = 11
print(a,b,c,d) #所有的都改变了

d[1:3] = [22,33]
print(a,b,c,d) #都改变

b = a.copy() #a和b没有关联到一起,只是复制副本
a[3] = 44 #常用这种复制方法
print(a,b)



阅读更多
个人分类: DeepLearning
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭