NumPy数组扩展
NumPy数组扩展是一种常用的数据处理方法,它可以将一维数组转换为多维数组,以满足特定的应用程序需求。NumPy提供了几种扩展数组的方法,包括reshape()、resize()、expand_dims()、tile()、repeat()、vstack()、hstack()等。下面我们将介绍这些方法的使用。
reshape()
reshape()是NumPy数组扩展中最常用的一种方法。它可以将一维数组转换为指定形状的多维数组,例如将一维数组[1,2,3,4,5]转换为2行3列的二维数组:
import numpy as np arr = np.array([1,2,3,4,5]) arr_reshaped = arr.reshape(2, 3) print(arr_reshaped) #输出结果: [[1 2 3] [4 5 6]]
resize()
resize()方法与reshape()方法类似,也用于将一维数组转换为指定形状的多维数组。但是resize()方法可以调整数组的大小,而不是更改数组的形状。例如,将一维数组[1,2,3,4,5]调整为2行3列:
import numpy as np arr = np.array([1,2,3,4,5]) arr_resized = arr.resize(2, 3) print(arr_resized) #输出结果: [[1 2 3] [4 5 0]]
expand_dims()
expand_dims()方法用于在数组的指定轴上增加一个维度,以满足特定的应用程序需求。例如,将一维数组[1,2,3]增加一个维度,转换为二维数组:
import numpy as np arr = np.array([1,2,3]) arr_expanded = np.expand_dims(arr, axis=1) print(arr_expanded) #输出结果: [[1] [2] [3]]
tile()
tile()方法可以将给定的数组拓展为指定形状,它可以将数组按照指定的形状重复拼接,以满足特定的应用程序需求。例如,将一维数组[1,2,3]拓展为2行3列:
import numpy as np arr = np.array([1,2,3]) arr_tiled = np.tile(arr, (2,3)) print(arr_tiled) #输出结果: [[1 2 3 1 2 3] [1 2 3 1 2 3]]
repeat()
repeat()方法用于将数组中的每个元素复制N次,以满足特定的应用程序需求。例如,将一维数组[1,2,3]中的每个元素复制2次:
import numpy as np arr = np.array([1,2,3]) arr_repeated = np.repeat(arr, 2) print(arr_repeated) #输出结果: [1 1 2 2 3 3]
vstack()
vstack()方法用于将多个数组沿着垂直轴堆叠在一起,以满足特定的应用程序需求。例如,将两个数组[1,2,3]和[4,5,6]堆叠在一起:
import numpy as np arr1 = np.array([1,2,3]) arr2 = np.array([4,5,6]) arr_vstacked = np.vstack((arr1, arr2)) print(arr_vstacked) #输出结果: [[1 2 3] [4 5 6]]
hstack()
hstack()方法用于将多个数组沿着水平轴堆叠在一起,以满足特定的应用程序需求。例如,将两个数组[1,2,3]和[4,5,6]堆叠在一起:
import numpy as np arr1 = np.array([1,2,3]) arr2 = np.array([4,5,6]) arr_hstacked = np.hstack((arr1, arr2)) print(arr_hstacked) #输出结果: [1 2 3 4 5 6]
NumPy数组压缩
NumPy数组压缩是一种常用的数据处理方法,它可以将多维数组转换为一维数组,以满足特定的应用