改变维度

1.视图变维: 返回一个具有新维度的新数组对象,且数据共享。

  reshape:重新设置维度

  ravel:将复杂的数组拆解为一个维度的数组

a = np.arange(1, 9)
print(a)
# [1 2 3 4 5 6 7 8]
c = a.reshape(2, 2, 2)
print(c)
# [[[1 2]
#   [3 4]]
#
#  [[5 6]
#   [7 8]]]
d = c.ravel() 
print(d)   # [1 2 3 4 5 6 7 8]

2.复制数组:返回一个具有新维度的新数组对象,数据独立

e = c.flatten()
print(e)   # [1 2 3 4 5 6 7 8]

然后在进行一下测试,看下结果,你会发现e数组没有发生变化 ,其他的都发生了变化

a += 10
print(a, c, d, e, sep="\n")
# [11 12 13 14 15 16 17 18]
# [[[11 12]
#   [13 14]]
#
#  [[15 16]
#   [17 18]]]
# [11 12 13 14 15 16 17 18]
# [1 2 3 4 5 6 7 8]

3.就地变维 : 在原数组对象之上,改变其维度,不返回新数组

xxx.shape = ...

a.shape = (2, 2, 2)
# [[[11 12]
#   [13 14]]
#
#  [[15 16]
#   [17 18]]]
xxx.resize(...)
a.resize(4, 2)
# [[11 12]
#  [13 14]
#  [15 16]
#  [17 18]]

 

转载于:https://www.cnblogs.com/zengsf/p/10060682.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值