Numpy 基础

import numpy as np
#创建数组
a=np.array([[1,2,3],[4,5,6]])
print(a)

#查看行数
print(a.ndim)

#查看维数
print(a.shape)

#查看元素类型
print(a.dtype)

#特殊数组,zeros数组:全零数组,元素全为0
print(np.zeros((2,3)))

#ones数组:全1数组,元素全为1
print(np.ones((2,3)))

#empty数组:空数组,元素全近似为0
print(np.empty((3,3)))

#arange函数:他与 Python 的 range 函数相似,但他属于Numpy 库,其参数依次为:开始值、结束值、步长。
print(np.arange(1,10,2))

#可以使用 linspace 函数创建等差序列数组,其参数依次为:开始值、结束值、元素数量
print(np.linspace(0,10,4))

#数组索引
#取a的第一行元素
a = np.array([[1,2,3],[4,5,6]])
print(a[0])
#取a的第二列元素
print(a[:,1])
#取a的第一行的第三个元素
print(a[0,2])

#数组运算
a=np.array([1,2,3])
b=np.array([4,5,6])
#加法
print(a+b)
#减法
print(a-b)
#乘法,对应位置相乘
print(a*b)
#乘方
print(a**2)
#除法
print(a/b)
#点乘
print(np.dot(a,b))
#判断大小
print(a>2)
#a中最大的元素
print(a.max())
#a中最小的元素
print(a.min())
#a的和
print(a.sum())

#数组的拷贝分为浅拷贝和深拷贝两种,浅拷贝通过数组变量的复制完成,深拷贝使用数组对象的copy方法完成。
#浅拷贝只拷贝数组的引用,如果对拷贝对象修改。原数组也将修改.
a=np.ones((2,3))
print(a)
#浅拷贝
b=a
print(b)
#修改b
b[1,2]=100
print(a,b)#a,b均修改

#深拷贝会复制一份和原数组一样的数组,但他们在内存中是分开存放的,所以改变拷贝数组,原数组不会改变。
a=np.ones((2,3))
print(a)
#深拷贝
b=a.copy()
print(b)
#修改b
b[1,2]=100
print(a,b)#只有b被修改,a没有被修改

#创建矩阵
A=np.matrix([[1,2],[3,4]])
print(A)
print(type(A))
#转置
print(A.T)
#矩阵乘法
B=np.matrix([[3,4],[5,6]])
print(A*B)
#逆矩阵
print(A.I)

 

posted @ 2018-07-13 16:23  Lzxanthony  阅读(195)  评论(1)    收藏  举报