本文将为您介绍NumPy中最常用的5种数组转换方法。
- astype():将数组的数据类型转换为指定类型,可以使用np.astype()方法。例如,将一个整数类型的数组转换为浮点数类型:
import numpy as np
arr = np.array([1, 2, 3])
float_arr = arr.astype(np.float64)
- reshape():改变数组的形状,可以使用np.reshape()方法。例如,将一个一维数组转换为二维数组:
import numpy as np
arr = np.arange(9)
arr_2d = arr.reshape((3, 3))
- transpose():交换数组的维度,可以使用np.transpose()方法或数组的.T属性。例如,将一个二维数组的行列交换:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
arr_transpose = np.transpose(arr)
# 或者使用.T属性
arr_transpose = arr.T
- flatten():将多维数组转换为一维数组,可以使用np.flatten()方法。例如,将一个二维数组转换为一维数组:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
arr_flat = arr.flatten()
- ravel():将多维数组转换为一维数组,与flatten()方法类似,但是ravel()方法不会对数组进行复制,返回的是原数组的视图。例如,将一个二维数组转换为一维数组:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
arr_ravel = arr.ravel()
- squeeze():删除数组中维度为1的维度,可以使用np.squeeze()方法。例如,将一个二维数组的维度为1的维度删除:
import numpy as np
arr = np.array([[[1], [2], [3]]])
arr_squeeze = np.squeeze(arr)
除了上文提到的常用的转换方法外,NumPy中还有其他一些不常用的转换方法:
- view():创建一个新的数组对象,与原数组共享数据。如果修改新数组中的数据,则原数组也会发生变化。
- byteswap():对数组中的每个元素进行字节交换。
- asfortranarray()和ascontiguousarray():将数组转换为Fortran和C序的数组。Fortran序列是列优先序列,而C序列是行优先序列。这两种序列在不同的科学计算软件中具有不同的用途。
- choose():根据索引数组从一组数组中选择元素。返回的数组将具有与索引数组相同的形状。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:NumPy最常用的6种数组转换方法 - Python技术站