在Python中,array 函数通常指的是 NumPy 库中的 numpy.array 函数,它用于创建NumPy数组对象。NumPy(Numerical Python的简称)是一个用于处理大型多维数组和矩阵的库,它提供了大量的数学函数来操作这些数组。NumPy数组是Python中处理数值数据的基础结构,特别适合于进行数值计算、科学计算和数据科学。

numpy.array() 函数的基本用法

numpy.array() 函数的基本语法如下:

numpy.array(object, dtype=None, copy=True, order='K', subok=False, ndmin=0)

  • object:任何可以被解释为数组对象的对象。这可以是一个列表、元组、已有的数组等。
  • dtype:数组所需的数据类型,例如 numpy.int32numpy.float64 等。
  • copy默认为 True,如果为 True,则复制输入数据;如果为 False,则尝试使用输入数据的引用(仅对列表或元组有效)。
  • order:指定数组在内存中的存储顺序,可以是 'C'(按行,默认值)、'F'(按列)或 'A'(任意)。
  • subok:默认为 False,如果为 True则传递子类
  • ndmin:指定返回数组的最小维度数。

示例1:创建一维数组

import numpy as np  
  
# 从Python列表创建一维数组  
list_data = [1, 2, 3, 4, 5]  
array_1d = np.array(list_data)  
print(array_1d)  
# 输出: [1 2 3 4 5]  
  
# 指定数据类型  
array_1d_int = np.array(list_data, dtype=np.int32)  
print(array_1d_int.dtype)  
# 输出: int32

 结果输出:

[1 2 3 4 5]
int32

示例2:创建二维数组 

import numpy as np  
# 从嵌套列表创建二维数组  
nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]  
array_2d = np.array(nested_list)  
print(array_2d)  
# 输出:  
# [[1 2 3]  
#  [4 5 6]  
#  [7 8 9]]

结果输出

 [[1 2 3]
 [4 5 6]
 [7 8 9]]

指定最小维度数 

import numpy as np
# 将一维数组转换为二维数组  
array_1d_flat = np.array([1, 2, 3, 4])  
array_2d_min = np.array(array_1d_flat, ndmin=2)  
print(array_2d_min)  
# 输出:  
# [[1 2 3 4]]

 结果输出:

[[1 2 3 4]]

 不复制数据

import numpy as np
# 创建一个列表并用其创建数组,注意不复制数据
original_list = [1, 2, 3]
array_from_list = np.array(original_list, copy=False)
array_from_list[0] = 99
print(array_from_list)  # 由于没有复制数据,所以原始列表也被修改了
# 输出: [99, 2, 3]

使用dtype进行类型转换

import numpy as np
# 创建一个整数列表并转换为浮点数数组
int_list = [1, 2, 3]
float_array = np.array(int_list, dtype=np.float64)
print(float_array)
# 输出: [1. 2. 3.]

注意事项

  • 当你使用 copy=False 时,务必注意原始数据和数组之间的引用关系,因为对数组的修改可能会影响原始数据。
  • dtype 参数允许你明确指定数组中元素的类型,这有助于节省存储空间并优化性能。
  • ndmin 参数允许你增加数组的维度数,这在某些计算场景中非常有用。
03-29 05:04