第二章4节-Numpy运用之数组形状改变

1、数组形状改变

  • Numpy中提供了reshape等方法改变数组的形状,但不改变数据的值
  • 可以对数组转换为一维,即展平
  • 可以将多个数组,组合成一个更大的数组
  • 三维数组的创建和索引

 (1)改变形状—— .reshape()方法

    1)改变形状,原数组不发生变化

  arr.reshape(a,b)的参数中,只要其中一个参数是确定的,另一个参数就会自动计算出 

   2) 当改变形状的时候修改数组的值,原数组的形状没有变化,相对应的值会改变

(2)改变形状—— .resize()方法

reshape方法返回改变形状后的数组,并且原数组不发生改变

resize方法没有返回值,直接改变原数组的形状

 (3)改变形状——shape方法

 (4)降维—— .ravel()方法和.flatten()方法

     1)降维的方式基本相同,参数order = Flase表示纵向,默认order = True表示横向

     2)对数据进行修改时的区别

     flatten方法,原数组的形状和值都没有变化 

     ravel方法,原数组的形状没有变化,但是值发生了改变

(5)增加维度——np.newaxis

   一维数组变二维数组,np.newaxis的作用是增加维度

 

(6)合并—— .hstack() 和 .vstack() 和 .concatenate()方法

 

 

 (7)复制——.tile()方法

(8)创建三维数组

 

2、数组形状改变总结

  • 数组形状处理手段主要有reshape、resize、ravel、flatten、vstack、hstack等函数
  • reshape和resize只要用于改变数组的形状,请注意区别
  • ravel和flatten对数组直接进行一维转换,展平为一维数组
  • ravel、flatten和reshape虽然都可以对数组进行一维转置,但是ravel和reshape 返回的是视图,而flatten 返回的是复制,视图上进行元素修改会改变原数组的值
  • vstack和hstack用于合并数组,一个纵向合并,一个横向合并
  • np.concatenate用于合并数组,0代表纵向,1代表横向 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值