标签:
在numpy包中我们可以用数组来表示向量,矩阵和高阶数据结构
首先导入numpy包:
from numpy import*
初始化numpy数组有多种方式,比如说
1.python列表或元祖
2.使用arrange,linspace函数
3.从文件中读取数据
例:列表生成numpy数组:
v=array([1,2,3,4])
M=array([[1,2],[3,4]])
v和M对象都是numpy模块提供的ndarray类型
v,M区别在于他们的维度不同
可以通过ndarray.shape获得他们的维度
ndarray.size获得他们的元素数量
例如:M.shape M.size
也可以用shape(M)和size(M)
那么为什么不使用list呢?
可以显示的定义元素类型通过在创建数组时使用dtype关键字
使用数组生成函数
x=arange(0,10,1) 0到10间距1
linspace(0,10,25) 0到10一共25个数据
x,y=mgrid[0:5,0:5]
生成随机数组:
from numpy import random
random.rand(5,5)生成5*5矩阵,随机值在0到1之间
random.randn(5,5)随机值
zeros((3,3)) 3*3的0矩阵
ones((3,3)) 3*3都是1的矩阵
文件I/O创建数组:
csv是一种常用的数据格式化文件类型,使用numpy.genfromtxt函数读取
使用numpy.savetxt可以将数组存储到csv文件中
M=random.rand(3,3)
savetxt("random-maxtrix.csv",M)
nnmpy原生文件类型:
用numpy.save和numpy.load保存和读取
save("Numpy.npy",M)
load("Numpy.npy")
操作数组:
使用方括号:
M[1]
M[1,1]
如果是n维数组,检索时省略一个索引值会返回一整行
M[1]
使用:能达到同样效果。
M[1,:]一行 M[:,1]一列
同样可以使用索引值进行赋值
A[1:3]会返回第1,2号元素---------索引这块其实和list差不多。
负值索引从数组尾部开始计算。M[-1]为数组倒数第一个
索引切片在二维数组里也是一样的。
numpy函数
where函数能将索引掩码转换成索引位置
diag函数提取出数组对角线
take函数与高级索引用法相似
choose选取多个数组的部分组成新的数组
我们对矩阵间进行加减乘除时,默认行为是逐项乘的
使用dot函数进行矩阵与矩阵,向量的乘法
将数组对象映射到matrix类型
标签:
原文地址:http://www.cnblogs.com/GordenTam/p/5558730.html