Numpy(5)

来源:互联网 发布:知乎 期货合理杠杆 编辑:程序博客网 时间:2024/06/05 00:36
'''# 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)
01234567891011
#实际上是一个加法表,纵轴的值为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*3print(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]])
0 0
原创粉丝点击