numpy

在本文档中,变量是np.array,不是list

(a>0)&(a<2),#判断各个元素是否大于0,返回一np.array,元素为False或True
a[a>0]#找出a中大于0的数
a*a#点乘
np.dot(a,a)#矩阵乘法
np.array([[1,2,3],[2,3,4]]),会把里面的列表也转换成array,即np.array([[1,2,3],[2,3,4]])获得的是一多维数组
np.array([[1,2,3],[3,4]]),因为里面的列表长度不一样,只能保持为list数组

np.array([1,2,3],dtype=np.float64)
np.array([1,2,3],dtype=np.int32)
dtype是Numpy如此强大和灵活的缘由之一。它们直接映射到相应的机器表示,这使得“读写磁盘上的二进制数据流”
以及“集成低级语言代码”等工做变得简单。dom

Python里的赋值,实质上是引用,而不是复制数据,因此修改其中一些值,原始数据也会改变。
在多维数组中,各索引位置上的元素再也不是标量,而是数组函数

arr = np.arange(32).reshape((8,4))blog

arr[[1,5,7,2],[0,3,1,2]]#取二维数组元素(1,0),(5,3),(7,1),(2,2)索引

ufunc
通用函数是一种对ndarray中的数据执行元素级运算的函数。能够将其看做简单函数(接受一个或多个标量值,
并产生一个或多个标量值)的矢量化包装器文档

x=y=[1,2,3]
np.maximum(x,y)it

np.where(con,arr,arr)#第二个参数能够是数组,也能够是标量
arr=np.random.randn(4,4)
如 np.where(arr>0,2,-2)#对于arr生成的数组,大于0的置为2,不然为-2
np.where(arr>0,2,arr)#只将正数设置为2.io

xarr = np.array([1,2,3,4,5])
yarr= np.array([2,3,4,5,6])
cond=np.array([True,False,True,True,True])test

np.where(cond,xarr,yarr) #array([1,3,3,4,5])变量

聚合(aggregation),约简(reduction)

数组的文件输入输出
arr=np.arange(10)
np.save('some_array',arr)
若是文件路径末尾没有扩展名.npy.则该扩展名会被自动加上,而后能够经过np.load读取

np.savez能够将多个数组保存到一个压缩文件,将数组以关键字参数的形式传入便可:
np.savez('array_archive.npz',a=arr,b=arr)
arch=np.load('array_archive.npz')
arch['b']

arr=np.loadtxt('test.txt',delimiter=',')#以逗号为分隔符

相关文章
相关标签/搜索
本站公众号
   欢迎关注本站公众号,获取更多信息