NumPy 中 reshape 函数用法详解

发布时间:2024年01月18日

在这里插入图片描述

1、语法

在不更改数组数据的情况下,改变数组的形状,返回一个新的数组。例如将一个二维数组转换成一个三维数组。

numpy.reshape(a, newshape, order='C')
参数描述
a : 类数组要改变形状的数组对象
newshape : 整型或整型元组新形状需与原始形状兼容,若为整型,则返回该长度的一维数组;尺寸可为 -1,将基于兼容自动计算尺寸长度
order : {‘C’, ‘F’, ‘A’}, optional指定顺序将原数组中的元素逐个复制到新数组中。“C”:按行读取/存储;“F”:按列读取/存储

2、示例

2.1 基本语法示例

a = np.arange(6).reshape((3, 2))
print("a:", a)
>>> a: ([[0 1]
         [2 3]
         [4 5]])

其过程为:按照给定的索引顺序遍历数组,再使用相同的索引顺序将元素放置到新数组中

2.2 参数 order 的使用示例

a = np.arange(6).reshape((2, 3))
print("a:", a)
>>> a: [[0 1 2]
        [3 4 5]]
        
b = np.reshape(a, (3, 2))
print("b:", b)
>>> b: [[0 1]
        [2 3]
        [4 5]]
        
c = np.reshape(a, (3, 2), order="F")
print("c:", c)
>>> c: [[0 4]
        [3 2]
        [1 5]]

参数 order 的默认值为 “C”,即按行读取/存储。

2.3 参数 newshape 的使用示例

a = np.array([[1,2,3], [4,5,6]])
print("a:", a)
>>> a: [[1 2 3]
        [4 5 6]]
        
b = np.reshape(a, 6)
print("b:", b)
>>> b: [1 2 3 4 5 6]

c = np.reshape(a, -1)
print("c:", c)
>>> c: [1 2 3 4 5 6]

d = np.reshape(a, (3, -1))
print("d:", d)
d: [[1 2]
    [3 4]
    [5 6]]
文章来源:https://blog.csdn.net/m0_72748751/article/details/135670064
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。