numpy数组的划分与合并

数组的合并

以二维数组为例

#垂直合并
a = np.arange(9)
a.shape = (3,3)
b = np.random.random((2,3))
c = np.random.random((5,4))*100
r = np.vstack((a,b))

#水平合并
r = np.hstack((r,c))

#深度合并
d = np.ones((5,7))
r = np.dstack((r,d))

数组的拆分

以二维数组为例

a = np.arange(12)
a.shape = (2,6)
p1,p2 = np.hsplit(a,2) # 2指水平等分2部分
p1,p2,p3 = np.hsplit(a,3) #水平等分3部分
p1,p2 = np.hsplit(a,[4]) #使用索引划分

p1,p2 = np.vsplit(a,2) #垂直2等分
p1,p2 = np.vsplit(a,[2]) #以索引划分
# 得到的p1,p2均是二维数组

#深度方向
np.dsplit(a,2)

其他方式

#合并
np.concatenate((a,b),axis=0) #垂直
np.concatenate((a,b),axis=1) #水平
np.concatenate((a,b),axis=2) #深度
#划分
np.split(a,[2],axis=0)

#行合并
np.row_stack([a,b])
np.r_[a,b]

#列合并
np.column_stack([a,b])
np.c_[a,b]

数组的属性

shape
ndim
itemsize , 每个元素的字节数
nbytes , 总字节数
dtype
real 实部
imag 虚数
T 转置
flat

 a=np.array([1+1j,2+2j])
 a.shape -->(2,)
 a.dtype -->complex128
 a.ndim --> 1
 a.itemsize --> 16字节
 a.nbytes --> 32 字节
 a.real --> array([1., 2.])
 a.imag --> array([1., 2.])
 a.flat --> ravel() 为一维数据生成器
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

laufing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值