作者:郭震
Numpy是Python中最流行的数值计算库之一.它提供了强大的多维数组对象和丰富的函数库,用于高效地执行数值运算.在这篇文章中,我们将介绍 Numpy 的核心50个操作,使用 Numpy 的优点.
为什么使用Numpy?
高性能:Numpy 的底层实现是用 C 语言编写的,具有极高的计算效率.
多维数组对象:Numpy 提供了 ndarray 对象,用于存储和操作多维数组数据.
丰富的函数库:Numpy 提供了大量的函数,用于执行各种数值运算,如线性代数、统计学、傅里叶变换等.
集成性好:Numpy 可以与其他科学计算库(如 SciPy、Pandas、Matplotlib)无缝集成.
跨平台支持:Numpy 支持在多种操作系统(如 Windows、Linux、MacOS)上运行.
1. 数组创建与初始化
创建一维数组
import numpy as np arr = np.array([1, 2, 3]) print(arr)
创建二维数组
arr = np.array([[1, 2, 3], [4, 5, 6]]) print(arr)
创建全零数组
arr = np.zeros((2, 3)) print(arr)
创建全一数组
arr = np.ones((2, 3)) print(arr)
创建空数组
arr = np.empty((2, 3)) print(arr)
创建单位矩阵
arr = np.eye(3) print(arr)
创建等间距数组
arr = np.arange(0, 10, 2) print(arr)
创建线性间距数组
arr = np.linspace(0, 1, 5) print(arr)
创建随机数组
arr = np.random.random((2, 3)) print(arr)
创建正态分布数组
arr = np.random.randn(2, 3) print(arr)
2. 数组属性
数组形状
arr = np.array([[1, 2, 3], [4, 5, 6]]) print(arr.shape)
数组维度
print(arr.ndim)
数组元素总数
print(arr.size)
数组数据类型
print(arr.dtype)
数组元素大小(字节)
print(arr.itemsize)
数组总字节数
print(arr.nbytes)
3. 数组操作
数组重塑
arr = np.array([1, 2, 3, 4, 5, 6]) arr = arr.reshape((2, 3)) print(arr)
数组展平
arr = arr.flatten() print(arr)
数组转置
arr = np.array([[1, 2, 3], [4, 5, 6]]) arr = arr.T print(arr)
数组拼接
arr1 = np.array([[1, 2], [3, 4]]) arr2 = np.array([[5, 6], [7, 8]]) arr = np.vstack((arr1, arr2)) # 垂直拼接 print(arr)
数组水平拼接
arr = np.hstack((arr1, arr2)) # 水平拼接 print(arr)
数组拆分
arr = np.array([[1, 2, 3], [4, 5, 6]]) arr1, arr2 = np.hsplit(arr, 2) # 水平拆分 print(arr1, arr2)
数组元素求和
arr = np.array([1, 2, 3]) print(arr.sum())
数组按轴求和
arr = np.array([[1, 2, 3], [4, 5, 6]]) print(arr.sum(axis=0)) # 列求和 print(arr.sum(axis=1)) # 行求和
数组元素最大值
print(arr.max())
数组按轴最大值
print(arr.max(axis=0)) # 列最大值 print(arr.max(axis=1)) # 行最大值
数组元素最小值
print(arr.min())
数组按轴最小值
print(arr.min(axis=0)) # 列最小值 print(arr.min(axis=1)) # 行最小值
数组元素平均值
print(arr.mean())
数组按轴平均值
print(arr.mean(axis=0)) # 列平均值 print(arr.mean(axis=1)) # 行平均值
4. 数组运算
数组元素相加
arr1 = np.array([1, 2, 3]) arr2 = np.array([4, 5, 6]) print(np.add(arr1, arr2))
数组元素相减
print(np.subtract(arr1, arr2))
数组元素相乘
print(np.multiply(arr1, arr2))
数组元素相除
print(np.divide(arr1, arr2))
数组点积
print(np.dot(arr1, arr2))
数组矩阵乘法
arr1 = np.array([[1, 2], [3, 4]]) arr2 = np.array([[5, 6], [7, 8]]) print(np.matmul(arr1, arr2))
数组元素幂运算
arr = np.array([1, 2, 3]) print(np.power(arr, 2))
数组开平方
print(np.sqrt(arr))
5. 逻辑运算与条件筛选
数组元素比较
arr1 = np.array([1, 2, 3]) arr2 = np.array([2, 2, 4]) print(arr1 == arr2)
数组条件筛选
arr = np.array([1, 2, 3, 4, 5]) print(arr[arr > 2])
数组元素替换
arr = np.array([1, 2, 3, 4, 5]) arr[arr > 3] = 0 print(arr)
数组布尔索引
arr = np.array([1, 2, 3, 4, 5]) mask = arr > 2 print(arr[mask])
6. 线性代数与统计运算
矩阵求逆
arr = np.array([[1, 2], [3, 4]]) print(np.linalg.inv(arr))
矩阵行列式
print(np.linalg.det(arr))
矩阵特征值
print(np.linalg.eig(arr))
数组方差
arr = np.array([1, 2, 3, 4, 5]) print(np.var(arr))
数组标准差
print(np.std(arr))
数组中位数
print(np.median(arr))
数组百分位数
print(np.percentile(arr, 50))
数组协方差
arr1 = np.array([1, 2, 3]) arr2 = np.array([4, 5, 6]) print(np.cov(arr1, arr2))
总结
通过以上50 个核心操作的介绍,我们可以看到 Numpy 在数值计算中的强大功能和广泛应用.它不仅提供了多维数组对象和丰富的函数库,还能够高效地执行各种数值运算.使用 Numpy,可以大大提高数据处理的效率和代码的可读性,是进行科学计算和数据分析的理想选择.希望这篇文章对你掌握 Numpy 核心操作有所帮助,祝你在数据科学的道路上不断进步!
感谢你的支持,原创不易,希望转发,点击,以及收藏,也可以点击阅读原文更多AI知识分享,同时也可以关注知识星球:郭震AI学习星球
最后,若想利用副业时间提高技能和收入,可以加入我的星球:长按上图二维码查看「郭震AI学习星球」
更多、数据分析、爬虫、前后端开发、人工智能等教程参考.
以上全文,欢迎继续点击阅读原文学习,阅读更多AI资讯,[请点击这里] https://zglg.work/