Numpy中的np.arange及其配套函数reshape

Numpy中的np.arange及其配套函数reshape

在本文中,我们将介绍Numpy中的两个重要函数:np.arange和reshape。这两个函数在数组创建和重塑方面非常有用,尤其是在数据分析、机器学习和科学计算等领域中,使用Numpy时经常会用到它们。

阅读更多:Numpy 教程

np.arange

np.arange是一个用于创建序列数组的函数。其语法如下:

numpy.arange(start, stop, step, dtype=None)
Python

其中,start是起始值,stop是结束值(不包括在内),step是步长,dtype是数组的数据类型。

举一个例子,生成一个1到9的序列数组:

import numpy as np

arr = np.arange(1, 10)

print(arr)
# 输出:
# [1 2 3 4 5 6 7 8 9]
Python

在这个例子中,我们没有指定步长和数据类型,因此默认步长为1,数据类型为int64。

接下来,我们看看如何使用np.arange来创建浮点数的数组:

import numpy as np

arr = np.arange(0, 1, 0.1, dtype=float)

print(arr)
# 输出:
# [0.  0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
Python

在这个例子中,我们指定了起始值为0,结束值为1(不包括在内),步长为0.1,数据类型为float。

reshape

reshape函数用于改变数组的形状。其语法如下:

numpy.reshape(array, newshape, order='C')
Python

其中,array是要重塑的数组,newshape是新数组的形状,order是重塑的顺序。

举一个例子,将一个一维数组重塑为2×3的二维数组:

import numpy as np

arr = np.arange(6)
reshaped_arr = np.reshape(arr, (2, 3))

print(reshaped_arr)
# 输出:
# [[0 1 2]
#  [3 4 5]]
Python

在这个例子中,我们将长度为6的1维数组重塑为2×3的2维数组。可以看到,原数组中的元素按照行优先的顺序被重新排列。

接下来,我们再看一个将多维数组重塑为一维数组的例子:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
reshaped_arr = np.reshape(arr, (6,))

print(reshaped_arr)
# 输出:
# [1 2 3 4 5 6]
Python

在这个例子中,我们将一个2×3的2维数组重塑为长度为6的1维数组。可以看到,原数组中的元素按照从左往右、从上到下的顺序被重新排列。

多维数组的重塑

Numpy中的多维数组重塑相对比较复杂,需要计算新数组中各个轴的大小。例如,将一个三维数组重塑为2x2x3的三维数组:

import numpy as np

arr = np.array([[[1, 2, 3], [4, 5, 6]],
                [[7, 8, 9], [10, 11, 12]]])
reshaped_arr = np.reshape(arr, (2, 2, 3))

print(reshaped_arr)
# 输出:
# [[[ 1  2  3]
#   [ 4  5  6]]

#  [[ 7  8  9]
#   [10 11 12]]]
Python

在这个例子中,原数组的形状是2x2x3,即有2个2×3的2维数组。我们将其重塑为2x2x3的三维数组,即2个2×3的2维数组。可以看到,原数组中的元素按照从左往右、从上到下、从前到后的顺序被重新排列。

总结

本文介绍了Numpy中的np.arange和reshape两个重要函数。np.arange可以生成序列数组,reshape可以改变数组的形状。对于数据分析、机器学习和科学计算等领域中常用的多维数组操作,掌握这两个函数十分重要。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册