numPy基础知识

来源:互联网 发布:php网站整站源码下载 编辑:程序博客网 时间:2024/06/08 11:13
from numpy import *
a = numpy.arange(10) ** 2a
array([ 0,  1,  4,  9, 16, 25, 36, 49, 64, 81])
b = numpy.arange(10) ** 3b
array([  0,   1,   8,  27,  64, 125, 216, 343, 512, 729])
c = a + bc
array([  0,   2,  12,  36,  80, 150, 252, 392, 576, 810])
m = array([arange(2),arange(3)])m
array([array([0, 1]), array([0, 1, 2])], dtype=object)
m.shape
(2,)
#切片a  = arange(9)a[3:7]
array([3, 4, 5, 6])
# 翻转a[::-1]
array([8, 7, 6, 5, 4, 3, 2, 1, 0])
# 0~7 步长为2 a[:7:2]
array([0, 2, 4, 6])
# 多维数组切片 b = 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.shape
(2, 3, 4)
b[0,0,1]
1
# 选取第二层数组b[1::]
array([[[12, 13, 14, 15],        [16, 17, 18, 19],        [20, 21, 22, 23]]])
# 选取第一层数组b[0, : , : ]
array([[ 0,  1,  2,  3],       [ 4,  5,  6,  7],       [ 8,  9, 10, 11]])
# 可以用一个省略号代替b[0, ...]
array([[ 0,  1,  2,  3],       [ 4,  5,  6,  7],       [ 8,  9, 10, 11]])
b[0,1]
array([4, 5, 6, 7])
b[0,1,::2]
array([4, 6])
# 选取第一层所有位于第二列的数据b[0,:,1]
array([1, 5, 9])
b[0,:,-1,]
array([ 3,  7, 11])
b[0,::-1,-1]
array([11,  7,  3])
b[0,::-1]
array([[ 8,  9, 10, 11],       [ 4,  5,  6,  7],       [ 0,  1,  2,  3]])
3 第一维和第二维颠倒b[::-1]
array([[[12, 13, 14, 15],        [16, 17, 18, 19],        [20, 21, 22, 23]],       [[ 0,  1,  2,  3],        [ 4,  5,  6,  7],        [ 8,  9, 10, 11]]])
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.ravel()
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.flatten()
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.shape=(6,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.transpose()
array([[ 0,  4,  8, 12, 16, 20],       [ 1,  5,  9, 13, 17, 21],       [ 2,  6, 10, 14, 18, 22],       [ 3,  7, 11, 15, 19, 23]])
b.resize((2,12))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]])
# 数组组合
a = arange(9).reshape(3,3)a
array([[0, 1, 2],       [3, 4, 5],       [6, 7, 8]])
b = 2 * ab
array([[ 0,  2,  4],       [ 6,  8, 10],       [12, 14, 16]])
#水平组合hstack((a,b))
array([[ 0,  1,  2,  0,  2,  4],       [ 3,  4,  5,  6,  8, 10],       [ 6,  7,  8, 12, 14, 16]])
concatenate((a,b),axis=1)
array([[ 0,  1,  2,  0,  2,  4],       [ 3,  4,  5,  6,  8, 10],       [ 6,  7,  8, 12, 14, 16]])
#垂直组合vstack((a,b))
array([[ 0,  1,  2],       [ 3,  4,  5],       [ 6,  7,  8],       [ 0,  2,  4],       [ 6,  8, 10],       [12, 14, 16]])
concatenate((a,b),axis=0)
array([[ 0,  1,  2],       [ 3,  4,  5],       [ 6,  7,  8],       [ 0,  2,  4],       [ 6,  8, 10],       [12, 14, 16]])
#深度组合 将相同元祖作为参数传给dstack函数dstack((a,b))
array([[[ 0,  0],        [ 1,  2],        [ 2,  4]],       [[ 3,  6],        [ 4,  8],        [ 5, 10]],       [[ 6, 12],        [ 7, 14],        [ 8, 16]]])
# 列组合 oned = arange(2)oned
array([0, 1])
twiced_oned =2 *onedtwiced_oned
array([0, 2])
# 列组合对于一维数组 按照列的方向进行组合column_stack((oned,twiced_oned))
array([[0, 0],       [1, 2]])
# 列组合 对于二维数组 与hstack效果相同column_stack((a,b))
array([[ 0,  1,  2,  0,  2,  4],       [ 3,  4,  5,  6,  8, 10],       [ 6,  7,  8, 12, 14, 16]])
column_stack((a,b)) == hstack((a,b))
array([[ True,  True,  True,  True,  True,  True],       [ True,  True,  True,  True,  True,  True],       [ True,  True,  True,  True,  True,  True]], dtype=bool)
# 行组合row_stack((oned,twiced_oned))
array([[0, 1],       [0, 2]])
row_stack((a,b))
array([[ 0,  1,  2],       [ 3,  4,  5],       [ 6,  7,  8],       [ 0,  2,  4],       [ 6,  8, 10],       [12, 14, 16]])
row_stack((a,b)) == vstack((a,b))
array([[ True,  True,  True],       [ True,  True,  True],       [ True,  True,  True],       [ True,  True,  True],       [ True,  True,  True],       [ True,  True,  True]], dtype=bool)
原创粉丝点击