Python Numpy库介绍
什么是Numpy?
NumPy是一个开源的Python扩展库,用于数值计算。它包含以下几个部分:
- 一个强大的N维数组对象 ndarray;
- 广播功能函数;
- 整合C/C++/Fortran代码的工具;
- 线性代数、傅里叶变换、随机数生成等功能。
NumPy是SciPy、Pandas等数据处理或科学计算库的核心库。
如何安装Numpy?
可以通过pip包管理器安装numpy库,命令如下:
pip install numpy
ndarray 对象
ndarray 对象是 numpy 中的核心概念,它是一个存储多维同类型元素的数组。用 ndarray 对象来存储和处理数据要比使用 Python 自带的列表(List)结构更有效和方便。以下是一些基本操作示例。
创建ndarray
可以使用 numpy 库的 array 函数以列表、元组或其他序列创建 ndarray 对象。
import numpy as np
# 从列表创建一个一维数组
array1 = np.array([1, 2, 3, 4, 5])
print(array1)
# 从元组创建一个二维数组
array2 = np.array([(1, 2, 3), (4, 5, 6)])
print(array2)
# 从已有数组创建一个新数组
array3 = np.array(array1, dtype=float)
print(array3)
访问元素
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
print(a[0, 0]) # 输出:1
print(a[1, 2]) # 输出:6
基本操作
import numpy as np
# 创建一个 4 x 3 的全为 0 的数组
array1 = np.zeros((4, 3))
print(array1)
# 创建一个 3 x 4 的全为 1 的数组
array2 = np.ones((3, 4))
print(array2)
# 创建一个 2 x 2 的恒等数组
array3 = np.eye(2)
print(array3)
# 对数组进行转置
array4 = np.array([(1,2,3), (4,5,6)])
print(array4.T)
# 数组拼接
array5 = np.concatenate((array1, array2), axis=0)
print(array5)
# 数组重塑
array6 = np.arange(12).reshape(3,4)
print(array6)
广播
当 numpy对不同形状(shape)的数组进行算术运算时,通常需要执行广播操作。 不需要创建新数组,但是返回的数组与原始数组的形状不同。 这里是一个广播的例子。
import numpy as np
# 创建两个数组
a = np.array([1,2,3,4])
b = np.array([10,20,30,40])
# 将数组相加
c = a + b
print(c)
线性代数
NumPy 提供了线性代数函数库 linalg,该库包含了线性代数所需的所有基本功能,例如:
import numpy as np
# 矩阵加法
a = np.array([[1,2],[3,4]])
b = np.array([[2,3],[4,5]])
c = np.add(a, b)
print(c)
# 矩阵点乘(矩阵乘法)
a = np.array([[1,2],[3,4]])
b = np.array([[2,1],[1,3]])
c = np.dot(a, b)
print(c)
# 矩阵求逆
a = np.array([[1,2],[3,4]])
ainv = np.linalg.inv(a)
print(ainv)
以上就是对Numpy库的介绍和演示。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python numpy库介绍 - Python技术站