Numpy(5)

'''
# coding=utf-8  

Created on 2016-9-7 

@author: paulsweet 

'''
import numpy as np
a=np.arange(12).reshape(3,4)
a
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
#二维数组,0轴,1轴可以分别看作纵轴和横轴,三维数组则想像为立方体
a.sum(axis=0) # 计算每一列的和,注意理解轴的含义,是轴方向上的求和
array([12, 15, 18, 21])
for row in a: #多维数组的遍历是以是第一个轴为基础的,按行来遍历
    print(row)
[0 1 2 3]
[4 5 6 7]
[ 8  9 10 11]
for element in a.flat:  #如果想对数组中每个元素都进行处理,可以使用flat属性,该属性是一个数组元素迭代器:
    print(element)
0
1
2
3
4
5
6
7
8
9
10
11
#实际上是一个加法表,纵轴的值为0, 10, 20, 30, 40, 50;横轴的值为0, 1, 2, 3, 4, 5。
#纵轴的每个元素都和横轴的每个元素求和,就得到 
np.arange(0, 60, 10).reshape(-1, 1) + np.arange(0, 6)
array([[ 0,  1,  2,  3,  4,  5],
       [10, 11, 12, 13, 14, 15],
       [20, 21, 22, 23, 24, 25],
       [30, 31, 32, 33, 34, 35],
       [40, 41, 42, 43, 44, 45],
       [50, 51, 52, 53, 54, 55]])

组合函数

  • hstack
  • vstack
  • dstack
  • concatenate
x=np.arange(9).reshape(3,3)
y=x*3
print(x);print(y)
[[0 1 2]
 [3 4 5]
 [6 7 8]]
[[ 0  3  6]
 [ 9 12 15]
 [18 21 24]]
#水平组合
np.hstack((x,y))
array([[ 0,  1,  2,  0,  3,  6],
       [ 3,  4,  5,  9, 12, 15],
       [ 6,  7,  8, 18, 21, 24]])
#垂直组合
np.vstack((x,y))
array([[ 0,  1,  2],
       [ 3,  4,  5],
       [ 6,  7,  8],
       [ 0,  3,  6],
       [ 9, 12, 15],
       [18, 21, 24]])
#深度组合
#组合函数dstack。顾名思义,就是在数组的第三个轴(即深度)上组合,可以想像为在深度方向上两个数组的重叠:
np.dstack((x,y))
array([[[ 0,  0],
        [ 1,  3],
        [ 2,  6]],

       [[ 3,  9],
        [ 4, 12],
        [ 5, 15]],

       [[ 6, 18],
        [ 7, 21],
        [ 8, 24]]])
#通过concatenate函数,并指定相应的轴来获得组合效果:
np.concatenate((x,y),axis=0) #垂直组合
array([[ 0,  1,  2],
       [ 3,  4,  5],
       [ 6,  7,  8],
       [ 0,  3,  6],
       [ 9, 12, 15],
       [18, 21, 24]])
np.concatenate((x,y),axis=1) #水平组合
array([[ 0,  1,  2,  0,  3,  6],
       [ 3,  4,  5,  9, 12, 15],
       [ 6,  7,  8, 18, 21, 24]])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值