关键词

详解Numpy reshape()(改变数组形状)函数的作用与使用方法

reshape()函数作用

Numpy中的reshape()函数用于将数组的维度重新设置,这个函数的目的是调整数组的形状,而不是改变原数组中的任何数值。该函数返回一个新数组,该数组与原数组共享数据,但在调整维度时会创建新的数组。

使用方法

Numpy的reshape()函数可以以几种不同的方式使用。如果要将原数组调整为一个新的形状,可以使用以下语法:

numpy.reshape(array, newshape, order=’C’)

参数说明

  • array:待调整的数组
  • newshape:新的数组形状,可以是一个整数,也可以是一个元组
  • order:可选参数,表示在新数组中元素的存储顺序,可选项包括“C”和“F”,分别表示按行和按列存储,缺省值为“C”。

实例1

下面我们通过一个简单的实例来解释reshape()函数的用法:

import numpy as np

# 创建一个3x3的二维数组
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(arr)

# 将二维数组转换为一维数组
arr_1d = np.reshape(arr, -1)
print(arr_1d)

输出:

[[1 2 3]
 [4 5 6]
 [7 8 9]]
[1 2 3 4 5 6 7 8 9]

以上代码创建了一个3x3的二维数组,然后使用reshape()函数将其转换为一个一维数组。其中,参数-1表示根据原数组自动计算数组长度。

实例2

下面我们通过另一个实例来展示reshape()函数的用法:

import numpy as np

# 创建一个1x9的一维数组
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
print(arr)

# 将一维数组转换为3x3的二维数组
arr_2d = np.reshape(arr, (3, 3))
print(arr_2d)

# 将二维数组转换为3x3x1的三维数组
arr_3d = np.reshape(arr_2d, (3, 3, 1))
print(arr_3d)

输出:

[1 2 3 4 5 6 7 8 9]
[[1 2 3]
 [4 5 6]
 [7 8 9]]
[[[1]
  [2]
  [3]]

 [[4]
  [5]
  [6]]

 [[7]
  [8]
  [9]]]

以上代码创建了一个1x9的一维数组,使用reshape()函数将其转换为一个3x3的二维数组,然后再将二维数组转换为一个3x3x1的三维数组。可以看出,reshape()函数可以用于不同维度之间的相互转换。

本文链接:http://task.lmcjl.com/news/17106.html

展开阅读全文