python机器学习之十 numpy库之数组(多维数组的一元操作、组合数组、数组分割、数组复制)

 

本篇主要介绍numpy中的数组操作:

1.多维数组的一元操作

2.组合数组

3.数组分割

4.数组复制

 

1.多维数组的一元操作

sum min max amax amin mean add multiply

np.abs(a) np.fabs(a) : 取各元素的绝对值

np.sign(a) : 计算各元素的符号值 1(+),0,-1(-)

np.sqrt(a) : 计算各元素的平方根

np.square(a): 计算各元素的平方

np.log(a) np.log10(a) np.log2(a) : 计算各元素的自然对数、10、2为底的对数np.exp(a) : 计算各元素的指数值

np.ceil(a) np.floor(a) : 计算各元素的ceiling 值, floor值(ceiling向上取整,floor向下取整)

np.rint(a) : 各元素 四舍五入

np.modf(a) : 将数组各元素的小数和整数部分以两个独立数组形式返回

 

sum

语法格式:

数组名称.sum(axis=某维)

    其余维不变,对指定维求和,指定维消失。

    不指定维数,表示对数组所有元素求和。

二维数组较好理解,如

b = np.arange(12).reshape(3,4)

b维度(3,4)

axis=0,在第一维度上求和,即按列求和,在行上压缩数据

axis=1,在第二维度上求和,即按行求和,在列上压缩数据

如:

b = np.arange(12).reshape(3,4)
'''
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
'''
b.sum(axis=0)    # 按列求和
'''
array([12, 15, 18, 21])
'''
b.sum(axis=1)    # 按行求和
'''
array([ 6, 22, 38])
'''

b=np.arange(24).reshape(2,3,4)
b
'''
array([[[ 0,  1,  2,  3],
        [ 4,  5,  6,  7],
        [ 8,  9, 10, 11]],
 
       [[12, 13, 14, 15],
        [16, 17, 18, 19],
        [20, 21, 22, 23]]])
'''
b.sum(axis=0)
'''
array([[12, 14, 16, 18],
       [20, 22, 24, 26],
       [28, 30, 32, 34]])
'''
#(2,3,4)变为(3,4) 下标2的维消失,可以想象成数据压缩到了指定维上

b.sum(axis=1)
'''
array([[12, 15, 18, 21],
       [48, 51, 54, 57]])
'''
#(2,3,4)变为(2,4)

b.sum(axis=2)
'''
array([[ 6, 22, 38],
       [54, 70, 86]])
'''
#(2,3,4)变为(2,3)

b.sum(axis=0) 等同与  b[0,:,:]+b[1,:,:]

b.sum(axis=1) 等同与  b[:,0,:]+b[:,1,:]+b[:,2,:]

b.sum(axis=2) 等同与  b[:,:,0]+b[:,:,1]+b[:,:,2]+b[:,:,3]

 

min、max、amin、amax

语法格式:

  数组名称.min(axis=某维) 

      同

   numpy.amin(数组名称,axis=某维

指定维度下,其他维最小值

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值