Numpy array() 函数
Numpy array() 函数用于通过转换输入数据来创建数组。输入数据可以是列表、元组、字符串或其他可迭代对象。如果输入是标量,该函数将返回一个零维数组。例如,传入 90 作为输入将创建一个零维数组。此函数返回多维 Numpy 数组。
Python 中的 零维数组(用于 Numpy 等库)是一种包含单个值且没有轴或维度的数组结构,以 () 形状表示。它的行为类似于标量,但保留了数组的所有属性。
语法
以下是 Numpy array() 函数的语法 -
numpy.array(object, dtype=None, copy=True, order='K', subok=False, ndmin=0, like=None)
参数
以下是 Numpy array() 函数的参数−
- object:这是必需的输入参数。它可以是任何类似数组的对象(例如列表、元组或其他 NumPy 数组),我们想将其转换为 NumPy 数组。
- dtype:指定数组元素所需的数据类型(例如,int、float、complex、str)。如果未指定,NumPy 将根据输入对象自动判断数据类型。
- copy(可选):如果为 True(默认值),则始终创建对象的新副本,即使对象已经是 NumPy 数组。如果为 False,函数将尝试避免复制数据,并尽可能仅创建输入对象的视图。
- subok(可选):如果为 True,则传递 ndarray 的子类。如果为 False(默认值),则输出始终为基类 ndarray。默认值为 True。
- ndmin(可选):指定结果数组的最小维数。如果输入数组的维数未达到要求,则会在前面添加额外的维数以弥补差值。默认值为 0。
- like(可选):允许创建一个与输入对象类似的数组,但使用现有的类数组对象(例如另一个 NumPy 数组)。
- order(可选):指定数组的内存布局。如果对象不是数组,则新创建的数组将按 C 语言顺序(行优先)排列,除非指定了 F 顺序,在这种情况下,它将按 Fortran 语言顺序(列优先)排列 -
- 'C':C 风格的行优先顺序。
- 'F':Fortran 风格的列优先顺序。
- 'A':如果输入是 Fortran 连续的,则为 'F',否则为 'C'。
- 'K':这是默认值,使顺序尽可能接近输入。
返回类型
当传递诸如列表、元组或集合之类的对象作为参数时,此函数返回 ndarray。
示例
以下是使用 Numpy array() 函数创建 Numpy 数组的基本示例 -
import numpy as np my_Array = np.array([13,25,53,94,85]) print("数组:",my_Array)
输出
以下是上述代码的输出 -
数组:[13 25 53 94 85]
示例:从序列创建数组
可以通过将列表、元组或集合等序列作为参数传递给 numpy.array() 函数来创建 NumPy 数组。
这里,我们将 my_list 作为参数传递给 numpy.array(),结果是一个数组 -
#导入 numpy 模块 import numpy as np #定义列表 my_list=[20,30,40,50] print(type(my_list)) #将列表作为参数传递 my_Array = np.array(my_list) #打印 numpy 数组 print("Array:",my_Array) print(type(my_Array))
输出
以下是上述代码的输出 -
<class 'list'> 数组:[20 30 40 50] <class 'numpy.ndarray'>
示例:使用标量创建 NumPy 数组
当标量值作为参数传递时,numpy.array() 函数返回 0 维 数组。
在下面的示例中,我们将 75(一个标量值)作为对象传递给 numpy.array() 函数 -
#导入 numpy 模块 import numpy as np #定义标量 my_int = 75 print(type(my_int)) #向标量传递参数 my_Array = np.array(my_int) #打印 numpy 数组 print("Array:",my_Array) print(type(my_Array))
输出
以下是上述代码的输出 -
<class 'int'> Array: 75 <class 'numpy.ndarray'>
示例:创建 N 维 NumPy 数组
numpy.array() 函数中的 ndmin 参数用于指定生成的 NumPy 数组的最小维数。例如,要创建三维数组,请将 ndmin 设置为 3 -
#导入 numpy 模块 import numpy as np #定义列表 my_list1=[2,8,9,6] my_list2=[12,38,79,56] my_list3=[100, 200, 300, 400] #向列表传递参数 my_Array = np.array([my_list1, my_list2, my_list3],ndmin=3) #打印 numpy 数组 print("3D 数组 -") print(my_Array)
输出
以下是上述代码的输出 -
3D 数组 - [[[ 2 8 9 6] [ 12 38 79 56] [100 200 300 400]]]
numpy_array_creation_routines.html