numpy 学习笔记:Python 框架中的数据分析利器
随着数据科学和机器学习的快速发展,Python 成为了最流行的数据分析和机器学习语言之一。Python 有着丰富的数据分析工具和库,其中 numpy 库是最流行的之一。numpy 是一个用于数值计算和科学计算的 Python 库,它提供了高效的多维数组操作接口以及各种数学函数。
本文将介绍 numpy 的基本概念和使用方法,并提供一些实例来帮助读者更好地理解 numpy。
一、numpy 的基本概念
- numpy 的数组
numpy 的核心是 ndarray 类型的数组,它是一种可以容纳任何数值类型的 N 维数组对象。numpy 数组是一个由相同类型的元素组成的表,可以通过一个非负整数元组来访问元素。numpy 数组的维度称为轴,轴的个数称为秩。
- numpy 的数组类型
numpy 数组有不同的数据类型,包括 int、float、complex、bool、object、unicode 等。这些类型可以通过 dtype 参数指定。例如,我们可以创建一个 int 类型的数组:
import numpy as np
a = np.array([1, 2, 3], dtype=int)
- numpy 的数组属性
numpy 的数组有许多属性,包括数组的形状、大小、维数、元素类型、元素个数等。这些属性可以通过数组对象的属性来获取。例如:
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
print(a.shape) # 输出 (2, 3)
print(a.size) # 输出 6
print(a.ndim) # 输出 2
print(a.dtype) # 输出 int64
二、numpy 的使用方法
- numpy 的数组创建
numpy 的数组可以通过各种方式创建,包括从列表、元组、范围、文件等创建。以下是一些常见的创建方法:
- 从列表创建:
import numpy as np
a = np.array([1, 2, 3])
- 从元组创建:
import numpy as np
a = np.array((1, 2, 3))
- 从范围创建:
import numpy as np
a = np.arange(0, 10, 2) # 创建一个从 0 到 10,步长为 2 的数组
- numpy 的数组操作
numpy 的数组支持各种操作,包括索引、切片、迭代、形状操作、堆叠操作、拆分操作等。以下是一些常见的操作方法:
- 索引和切片:
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
print(a[0, 0]) # 输出 1
print(a[1, 1:]) # 输出 [5, 6]
- 形状操作:
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
print(a.reshape(3, 2)) # 输出 [[1, 2], [3, 4], [5, 6]]
- 堆叠操作:
import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(np.vstack((a, b))) # 输出 [[1, 2, 3], [4, 5, 6]]
- 拆分操作:
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
print(np.hsplit(a, 3)) # 输出 [array([[1], [4]]), array([[2], [5]]), array([[3], [6]])]
- numpy 的数学函数
numpy 提供了各种数学函数,包括三角函数、指数函数、对数函数、统计函数等。以下是一些常见的数学函数:
- 三角函数:
import numpy as np
a = np.array([0, np.pi/2, np.pi])
print(np.sin(a)) # 输出 [0. 1. 0. ]
- 统计函数:
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
print(np.mean(a)) # 输出 3.5
print(np.median(a)) # 输出 3.5
三、numpy 的实例
以下是一个简单的 numpy 实例,它演示了如何使用 numpy 创建数组、进行操作和计算:
import numpy as np
# 创建一个 5x5 的随机矩阵
a = np.random.rand(5, 5)
print("原始矩阵:
", a)
# 对矩阵进行归一化
a = (a - np.min(a)) / (np.max(a) - np.min(a))
print("归一化矩阵:
", a)
# 计算矩阵的行均值和列均值
row_mean = np.mean(a, axis=1)
col_mean = np.mean(a, axis=0)
print("行均值:
", row_mean)
print("列均值:
", col_mean)
# 将行均值和列均值加入矩阵
for i in range(a.shape[0]):
a[i, :] += row_mean[i]
for i in range(a.shape[1]):
a[:, i] += col_mean[i]
print("加权矩阵:
", a)
以上代码创建了一个 5x5 的随机矩阵,并对其进行归一化。然后计算了矩阵的行均值和列均值,并将其加入到矩阵中,得到了一个加权矩阵。
总结
本文介绍了 numpy 的基本概念和使用方法,并提供了一些实例来帮助读者更好地理解 numpy。numpy 是 Python 数据分析和机器学习中不可或缺的工具之一,它提供了高效的多维数组操作接口以及各种数学函数,可以帮助数据科学家和机器学习工程师更快、更准确地进行数据分析和机器学习。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341