python中reshape()、flatten()、ravel()函数、flat属性

数组形状修改函数

1、 reshape
reshape()函数既可以被numpy调用,调用时ndarray数组当成参数。
也可以直接被ndarray数组调用,参数传形状就可。
参数order=“C”/“F”
"C"默认将原来数组按行填充。
“F”默认把原来数组按列填充。
2、 flat、flatten()、ravel()
arr=np.arange(8).reshape(2,4)
flat是ndarray的属性,arr.flat是一个可迭代对象,用list(arr)可以显示.
对应的函数arr.flatten(),直接显示展开成的一维数组。

a2=np.arange(8).reshape(2,4)
a2
a3=a2.flatten(order="F")
a3.ravel(order="C")[1]=99#返回视图,当这样改变时按行展开和默认的存储方式一样,所以对原数组进行了修改。但
a3.ravel(order="F")#默认按列 取数展开一维平面,与原来数组在内存默认的存储方式(默认是按行存储的)不同,所以不会这样用索引访问并改变值的时候原来数组不会发生更改。

a2:
array([[0, 1, 2, 3],
[4, 5, 6, 7]])
a3:
array([0, 4, 1, 5, 2, 6, 3, 7])

返回的是数据副本,全拷贝。
a3[0]=99
a2不变,a3变

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值