📜  动态数组 python numpy - Python (1)

📅  最后修改于: 2023-12-03 14:50:24.847000             🧑  作者: Mango

动态数组 Python Numpy

Python中动态数组是非常常见的数据类型,而Numpy库则提供了更加高效的操作方法。本文将介绍Python中的动态数组以及Numpy库的相关内容。

Python 中的动态数组

Python中的动态数组可以通过列表(list)来实现。列表是一种可以改变长度的序列类型,可以在其中存储任何类型的元素。可以使用append()方法添加元素,使用pop()方法删除元素。下面是一个例子:

my_list = [1, 2, 3]
print(my_list)  # [1, 2, 3]

my_list.append(4)
print(my_list)  # [1, 2, 3, 4]

my_list.pop()
print(my_list)  # [1, 2, 3]

使用列表进行数值计算通常不是很高效,在对大型数据集进行操作时,Numpy库提供了更好的解决方案。

Numpy

Numpy是Python中最常用的科学计算库之一,其提供了高效的数组计算功能。Numpy中,数组是一个元素相同的数据集合,它们可以是一维数组,也可以是多维数组。

创建一个数组

可以通过numpy.array()方法创建数组。下面是一个创建一维数组的例子:

import numpy as np

my_array = np.array([1, 2, 3])
print(my_array)  # [1 2 3]

可以通过numpy.zeros()方法创建一个元素全部为0的数组:

zeros_array = np.zeros((3, 4))
print(zeros_array)

# 输出
[[0. 0. 0. 0.]
 [0. 0. 0. 0.]
 [0. 0. 0. 0.]]

可以通过numpy.ones()方法创建一个元素全为1的数组:

ones_array = np.ones((2, 3))
print(ones_array)

# 输出
[[1. 1. 1.]
 [1. 1. 1.]]
访问数组元素

可以通过数组的下标来访问数组中的元素。例如:

my_array = np.array([1, 2, 3])
print(my_array[0])  # 1

在多维数组中,需要使用多个下标来访问元素:

my_array = np.array([[1, 2], [3, 4]])
print(my_array[0, 1])  # 2
数组运算

Numpy中的数组可以进行基本的数学运算。例如:

my_array = np.array([1, 2, 3])
print(my_array + 2)  # [3 4 5]

my_array = np.array([1, 2, 3])
print(my_array * 2)  # [2 4 6]

array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])
print(array1 + array2)  # [5 7 9]
数组整形

可以通过reshape()方法改变数组的形状,例如将一个一维数组转化为二维数组:

my_array = np.array([1, 2, 3, 4])
print(my_array.reshape((2, 2)))

# 输出
[[1 2]
 [3 4]]
数组的聚合函数

Numpy提供了很多聚合函数,这些函数可以对数组进行计算并返回一个标量值。例如:

my_array = np.array([1, 2, 3, 4])
print(np.sum(my_array))  # 10

my_array = np.array([1, 2, 3, 4])
print(np.mean(my_array))  # 2.5
总结

本文介绍了Python中动态数组以及Numpy库的相关内容,包括数组的创建、访问、运算、整形以及聚合函数等。Numpy库提供了高效的数组操作方法,在大型数据集上的计算中会更加高效。