Numpy中reshape的用法

语法介绍

numpy.reshape(a, newshape, order=‘C’)

在不改变数据的情况下给数组一个新的形状。就是先将数组按给定索引顺序一维展开,然后按与展开时相同的索引顺序将展开的元素填充到新数组中;即等价于 np.reshape(np.revel(array), newshape, order) .

参数解释:

  1. newshape : 整数或整数元组,用于指示新数组的形状,格式(行row,列col,… )。

新的形状应该与原来的形状兼容,即元素个数必须相同。如果是一个整数,那么结果将是一个该长度的一维数组。
形状的其中一个维度可以是 -1,在这种情况下,新形状的该维度值是由数组的长度和其余维度自动推断出来的

  1. order: {‘C’, ‘F’, ‘A’}, 可选参数。

使用a的索引顺序读取其元素,并使用这个索引顺序将元素放入重塑的数组中。

‘C’ , 行优先顺序 (表示使用类似 C 语言的索引顺序来读/写元素,最后一个轴的索引变化最快,回到第一个轴的索引变化最慢)。
‘F’ , 列优先顺序 (表示使用类似 Fortran 语言的索引顺序来读/写元素,第一个索引变化最快,最后一个索引变化最慢)。
‘A’ , 按存储顺序 (表示如果数组 ‘a’ 在内存中是类似 Fortran 语言的数组分布方式,则按照类似 Fortran 语言的索引顺序读/写元素,否则按照类似 C 语言的顺序)。

注意 ‘C’ 和 ‘F’ 选项没有考虑底层数组的内存布局,只是参考了索引的顺序。

示例

示例1

import numpy as np

# 定义数组 b
b = np.arange(5)
print(b)
# ---------- newshape取整数 -----------------
# 返回 1 维数组(以下8种表达方式等价)
print(np.reshape(b,5))
print(np.reshape(b,-1))
print(np.reshape(b,(5,)))
print(np.reshape(b,(-1,)))

print(b.reshape(5))
print(b.reshape(5,))
print(b.reshape(-1))
print(b.reshape(-1,))

[0 1 2 3 4]
[0 1 2 3 4]
[0 1 2 3 4]
[0 1 2 3 4]
[0 1 2 3<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值