🌈个人主页:羽晨同学
💫个人格言:“成为自己未来的主人~”
链接数组
a=np.array([[1,2],[3,4]])
print('第一个数组:')
print(a)
print('\n')
b=np.array([[5,6],[7,8]])
print('第二个数组:')
print(b)
print('\n')
print('沿轴0连接两个数组:')
print(np.concatenate((a,b)))
print('\n')
print('沿轴1连接两个数组: ')
print(np.concatenate((a,b),axis=1))
这里面用到了一个函数:
numpy.concatenate((a1,a2,...),axis)
# a1,a2....相同类型的数组
# axis 沿着它连接数组的轴,默认是0
需要强调的是,这里面涉及到的两个数组必须要是相同的形状。
堆叠数组
a=np.array([[1,2],[3,4]])
print('第一个数组: ')
print(a)
print('\n')
b=np.array([[5,6],[7,8]])
print('第二个数组: ')
print(b)
print('\n')
print('沿着0轴堆叠两个数组:')
print(np.stack((a,b),0))
print('沿着1轴堆叠两个数组: ')
print(np.stack((a,b),1))
a=np.array([[1,2],[3,4]])
print('第一个数组: ')
print(a)
print('\n')
b=np.array([[5,6],[7,8]])
print('第二个数组: ')
print(b)
print('\n')
print('沿着撗轴堆叠两个数组:')
print(np.hstack((a,b)))
print('沿着纵轴堆叠两个数组: ')
print(np.vstack((a,b)))
hstack是水平堆叠生成数组,vstack是垂直堆叠生成数组
分割数组
a=np.arange(9)
print('第一个数组: ')
print(a)
print('\n')
print('将数组分为三个大小相等的子数组:')
b=np.split(a,3)
print(b)
print('\n')
print('将数组在一维数组中表明的位置分割')
b=np.split(a,[4,7])
print(b)
数组元素的添加和删除
a=np.array([[1,2,3],[4,5,6]])
print('第一个数组: ')
print(a)
print('\n')
print('向数组添加元素: ')
print(np.append(a,[7,8,9]))
print('\n')
print('沿轴0添加元素:')
print(np.append(a,[[7,8,9]],axis=0))
print('沿轴1添加元素: ')
print(np.append(a,[[5,5,5],[6,6,6]],axis=1))
insert
numpy.insert函数在给索引之前,沿给定轴在输入数组中插入值,如果值的类型转换为要插入,则它与输入数组不同,插入没有原地的,函数会返回一个新数组,此外,如果未提供轴,则输入数组会被展开。
a=np.array([[1,2],[3,4],[5,6]])
print(a)
print('\n')
print('未插入Axis参数,在删除之前输入数组会被展开:')
print(np.insert(a,3,[11,12]))
print('传递了Axis参数,会广播值数组来配输入数组: ')
print('沿0轴传播: ')
print(np.insert(a,1,[11],axis=0))
print('沿1轴传播: ')
print(np.insert(a,1,[11],axis=1))
delete
a=np.arange(12).reshape(3,4)
print('第一个数组: ')
print(a)
print('\n')
print('未传递Axis参数,在插入之前输入数组会被展开:')
print(np.delete(a,5))
print('删除第二列:')
print(np.delete(a,1,axis=1))
print('\n')
print('包含从数组中删除的替代值的切片:')
a=np.array([1,2,3,4,5,6,7,8,9,10])
print(np.delete(a,np.s_[::2]))