在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.int32
、numpy.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
参数允许你增加数组的维度数,这在某些计算场景中非常有用。