Numpy常用函数

生成函数

函数功能
np.array(x,dtype)将输入数据转化为一个类型为type的ndarray
np.asarray(array)将数据转化为一个新的ndarray
np.ones(N,dtype)生成一个N长度的一维全1的ndarray
np.zeros(N,dtype)生成一个N长度的一维全0的ndarray
np.empty(N,dtype)生成一个N长度的一维未初始化的ndarray
np.eye(N)创建一个N*N的单位矩阵
np.arange(num)/(begin,end,step)生成一个从begin到end-1步数为step的一维ndarray
np.mershgrid(ndarray,ndarray)生成一个ndarray*ndarray*…的多维ndarray
np.where(cond,ndarray1,ndarray2)根据条件cond,选取ndarray1或者ndarray2,返回一个新的ndarray
np.in1d(ndarray,[x,y…])检查ndarray中的元素是否等于[x,y,…]中的一个,返回bool数组

矩阵函数

函数功能
np.diag(ndarry)以一维数组的行书返回方阵的对角线(火非对角线)元素
np.diag([x,y…])将一维数组转化为方阵(非对角线元素为0)
np.dot(ndarray,ndarray)矩阵乘法
np.trace(ndarray)计算对角线元素的和

排序函数

函数功能
sort(ndarray)排序,返回副本
unique(ndarray)返回ndarray中的元素,排除重复元素之后,并进行排序
intersect1d(ndarray1,ndarray2)返回二者的交集并排序
union1d(ndarray1,ndarray2)并集并排序

一元计算函数

  • abs
  • fabs
  • mean
  • sqrt
  • square
  • exp
  • log、log10、log2、log1p
  • sign:计算正负号1,0,-1
  • ceil:大于等于该值的最小整数
  • floor:小于等于该值的最大整数
  • rint:四舍五入到最近的整数,保留dtype
  • modf:将数组的小数和整数部分以两个独立的数组方式返回
  • isnan:返回bool型数组
  • isfinite:返回一个判断是否是又穷的bool数组
  • isinf:返回一个判断是否是无穷的bool数组
  • cos、cosh、sin、sinh、tan、tanh
  • arccos
  • logical_not:计算各元素not x的真值

补充

函数功能
clip(array,array_min,array_max)小于最小的变成最小
array.flatten*()扁平化
A = np.array([1,1,1])[:,np.newaxis]array的转置
C = np.concatenate((A,B,B,A),axis=0)合并
np.split(A, 2, axis=1)等量分割
print(np.array_split(A, 3, axis=1))不等量分割
np.vsplit(A, 3)np.split(A, 3, axis=0)

花式索引

#利用整数数组进行索引,先初始化一个8*4的矩阵
arr=np.empty((8,4))
for i in range(8):
    arr[i]=i
print arr
#为了以特定顺序选取行子集,只需传入一个用于指定顺序的列表或ndarray
print arr[[4,3,0,6]]
#print arr[np.array[4,3,0,6]]
#使用负数索引将会从末尾
print arr[[-3,-5,-7]]

#一次传入多个索引数组会有一点特别,返回的是一个一维数组,其中元素对应各个索引元组

print "初始化一个数组"  
arr = np.arange(32).reshape(8,4)  
print arr  
print "多个索引数组"  
print arr[[1,5,7,2],[0,3,1,2]]#返回一个数组最终的元素(1,0)、(5,3)、(7、1)、(2、2)  
#如果要得到矩形区域的话,可以这样  
print "得到矩形区域"  
print arr[[1,5,7,2]][:,[0,3,1,2]]  
#另一种利用np.ix函数,他可以将两个一维的整数数组转化为方形区域的索引器 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值