numpy.asarray详解

在NumPy中的数组对象是 ndarray 。 使用 numpy.asarray 函数,可以将已有数据转换为 ndarray 类型数组。 asarray 函数具有非常高的性能,因为它不会从原始数据创建副本,而是直接引用原始数据的内存。
语法
numpy.asarray 的语法如下:
numpy.asarray(a, dtype=None, order=None)
参数说明:
a: 输入的数据,可以是Python序列、Numpy数组、Python对象等。dtype:输出数组的数据类型。如果不指定,将根据输入数据自动推断。order:是否在内存中按照“C”顺序或“F”顺序存储多维数组。
示例代码1
让我们看一个简单的示例,将Python列表转换为NumPy数组:
import numpy as np
# 创建一个Python列表
my_list = [1, 2, 3, 4, 5]
# 调用numpy.asarray()函数
arr = np.asarray(my_list)
print(arr)
输出:
[1 2 3 4 5]
通过 numpy.asarray 函数,我们成功地将 Python 列表 my_list 转换为了 NumPy 数组 arr。
示例代码2
下面我们将演示如何创建二维数组:
import numpy as np
# 创建一个二维列表
my_list_2d = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# 调用numpy.asarray()函数
arr_2d = np.asarray(my_list_2d)
print(arr_2d)
输出:
[[1 2 3]
[4 5 6]
[7 8 9]]
这里,我们成功地将一个二维列表转换为了 NumPy 的二维数组。
示例代码3
除了Python的列表,numpy.asarray 函数还可以接受 Numpy 数组作为输入。在这个示例中,我们将一个Numpy数组进行转换:
import numpy as np
# 创建一个Numpy数组
my_array = np.array([10, 20, 30])
# 调用numpy.asarray()函数
arr_from_array = np.asarray(my_array)
print(arr_from_array)
输出:
[10 20 30]
通过以上示例,我们可以看到 numpy.asarray 函数对于接收 Numpy 数组作为输入同样能够正常工作。
注意事项
numpy.asarray不会复制原始数据,它会直接引用原始数据的内存。因此,请确保在之后不会修改原始数据。- 如果原始数据不是NumPy数组,转换过程可能会拖慢系统性能。因此,最好直接使用NumPy数组作为输入。
极客教程