网站首页 > 基础教程 正文
创建 NumPy 数组
NumPy 的核心是它的数组对象。这些数组与 Python 列表类似,但有一些关键区别,例如同质性(所有元素必须具有相同的数据类型)以及高效执行逐元素操作的能力。
1. 从列表创建数组:
可以使用以下函数从 Python 列表创建 NumPy 数组numpy.array():
将numpy导入为np
my_list = [1, 2, 3, 4, 5]
my_array = np.array(my_list)
print(my_array)
该np.array()函数接受一个列表作为参数并返回一个 NumPy 数组。
2.数组初始化:
NumPy 提供了多个函数来创建具有特定属性(例如零、一或一系列值)的数组。这里有些例子:
# 创建一个零数组
Zeros_array = np.zeros( 5 )
# 创建一个由 1 组成的数组
Ones_array = np.ones(3)# 创建一个特定范围值的数组
range_array = np.arange(0, 10, 2) # 创建 [0, 2, 4, 6, 8]# 创建一个均匀分布的数组
linspace_array = np.linspace(0, 1, 5) # 创建 [0.0, 0.25, 0.5, 0.75, 1.0]
3. 随机数组:
还可以使用 NumPy 的 random 模块生成具有随机值的数组。下面是创建随机整数数组的示例:
random_integers = np.random.randint( 1 , 100 , size= 5 ) # 生成 5 个 1 到 100 之间的随机整数
基本数组操作
1.逐元素运算:
NumPy 允许逐个元素地对数组执行操作,而无需显式循环。例如:
arr1 = np.array([ 1 , 2 , 3 ])
arr2 = np.array([ 4 , 5 , 6 ])
# 逐元素相加
结果 = arr1 + arr2 # 结果: [5, 7, 9]# 逐元素相乘
结果 = arr1 * arr2 # 结果:[4, 10, 18]
2. 数组广播:
NumPy 可以通过广播处理不同形状的数组上的操作。广播会自动扩展较小的数组以匹配较大数组的形状:
arr = np.array([ 1 , 2 , 3 ])
scala= 2
result = arr * scalar # 标量被广播到 [2, 2, 2]
3. 数组索引和切片:
您可以使用索引访问数组的元素或切片:
arr = np.array([ 10 , 20 , 30 , 40 , 50 ])
# 访问单个元素
element = arr[2] # Element 为 30# 切片子
数组 = arr[1:4] # 子数组为 [20, 30, 40]
数组操作
NumPy 提供了各种用于更改数组形状和结构的函数。
1. 重塑数组:
可以使用以下方法更改数组的形状reshape():
arr = np.arange( 1 , 10 ) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
reshaped= arr.reshape( 3 , 3 )
# 重塑现在是:
# [[1, 2, 3],
# [4, 5, 6],
# [7, 8, 9]]
2. 连接数组:
可以使用以下函数组合数组np.concatenate():
arr1 = np.array([ 1 , 2 , 3 ])
arr2 = np.array([ 4 , 5 , 6 ])
concatenated = np.concatenate((arr1, arr2))
# 连接后为 [1, 2, 3, 4、5、6]
猜你喜欢
- 2024-11-18 C语言探索之旅:数组
- 2024-11-18 数组及在Excel中应用
- 2024-11-18 机器学习实战:Numpy多维数组的创建、索引与切片
- 2024-11-18 非理工科编程零基础文科生秒懂python学习笔记Numpy创建数组9妙方
- 2024-11-18 5分钟课堂:Java数组
- 2024-11-18 VBA字典与数组第十八讲:VBA中静态数组的定义及创建
- 2024-11-18 18.C语言:实践:创建一个动态数组库
- 2024-11-18 在JavaScript中,如何创建一个数组或对象?
- 2024-11-18 掌握数组公式,从小白走向大师的必经之路,小白?或大师?
- 2024-11-18 numpy基础之创建数组的函数
- 最近发表
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- location.search (79)
- bootstrap教程 (74)
- deletesql (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)