黑马程序员技术交流社区

标题: 【上海校区】numpy模块的一些功能。 [打印本页]

作者: 梦缠绕的时候    时间: 2018-11-19 09:28
标题: 【上海校区】numpy模块的一些功能。
x  = np.array([[[1,2,3],[4,5,6]]])这里或者直接写成(1,2,3)

w = x.shape

(1,2,3)

创建一个三维数组,由1个,2行,3列的二维数组,组成.

几个[] 就是几维。

b = np.expand_dims(a, axis=0)
扩展数组形状:维度

变换为(1,1,2,3)

含义为在1,2,3三个数产生的四个间隔中零的位置,即1之前添加1

同理axis = 2

变换为(1,2,1,3)

注意:

axis的值不能大于(1,2,3)产生的间隔数,(1,2,3)只有四个间隔,所以axis<4

当axis大于最大间隔的时候会按照最大间隔插入.

*--------------------------------------*-----------------------------------------------------------*

a = np.arange(36)#数组元素
b = a.reshape(6,6)#改变数组形状
'''[[ 0  1  2  3  4  5]
    [ 6  7  8  9 10 11]
    [12 13 14 15 16 17]
    [18 19 20 21 22 23]
    [24 25 26 27 28 29]
    [30 31 32 33 34 35]]'''
#print(b[4])
w  = np.array([[6,7],[8,9],[10,11]])
#print(b[:,3])#取得第三列
#print(b[:3])#从0到第三行
b[b>23]=0
print(b[0:2])
print(b[0:2,2:4])#逗号前行,后面式列数
print(b[:,:3])
print('*----------------------------*')
print(b[:,None])#None不进行切片,把整体作为数组元素处理
print(b[:,:,None])#None把取到的值按照列的形式返回
np.concatenate((a, b), axis=0)#拼接数组
合并数组

a = np.ones((3,2,4))
#3个2行4列的二维数组,组成的三维数组
print(a)
b = np.zeros((3,2,4))

c = np.ones((3,2,4))

d = np.concatenate([a,b,c],2)
print(d)
print(d.shape)

out:::::::
a:
[[[1. 1. 1. 1.]
  [1. 1. 1. 1.]]

[[1. 1. 1. 1.]
  [1. 1. 1. 1.]]

[[1. 1. 1. 1.]
  [1. 1. 1. 1.]]]
d:
[[[1. 1. 1. 1. 0. 0. 0. 0. 1. 1. 1. 1.]
  [1. 1. 1. 1. 0. 0. 0. 0. 1. 1. 1. 1.]]

[[1. 1. 1. 1. 0. 0. 0. 0. 1. 1. 1. 1.]
  [1. 1. 1. 1. 0. 0. 0. 0. 1. 1. 1. 1.]]

[[1. 1. 1. 1. 0. 0. 0. 0. 1. 1. 1. 1.]
  [1. 1. 1. 1. 0. 0. 0. 0. 1. 1. 1. 1.]]]
(3, 2, 12)
可以看出当, 2的时候对数组纵向拼接只改变了三维数组中二维数组的行数,3*4=12,其他几个值行数在[]a,b,c]中对应的位置正好是2,所以写成-1作用一样,0是对数组的个数进行拼接,1改变行数,不能改变维度
---------------------
作者:o情花o
来源:CSDN
原文:https://blog.csdn.net/WoHongG/article/details/82662401
版权声明:本文为博主原创文章,转载请附上博文链接!


作者: 不二晨    时间: 2018-11-21 17:10

作者: 魔都黑马少年梦    时间: 2018-11-22 17:08





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2