提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- Numpy基础知识点总览
- 目录
- 1. 简介
- Numpy是什么
- 为什么使用Numpy
- 2. 数组对象(ndarray)
- 创建数组
- 数组的属性
- 数组的形状操作
- 3. 数组的基本操作
- 数组索引与切片
- 数组的形状改变
- 数组的类型转换
- 4. 数学函数与统计方法
- 数组元素的数学运算
- 统计函数
- 线性代数运算
- 5. 广播机制
- 什么是广播
- 广播的规则与示例
- 6. 文件操作
- 读取与保存数组到文件
- 7. 随机数的生成
- 生成随机数的方法
- 总结
Numpy基础知识点总览
目录
-
简介
- Numpy是什么
- 为什么使用Numpy
-
数组对象(ndarray)
- 创建数组
- 数组的属性
- 数组的形状操作
-
数组的基本操作
- 数组索引与切片
- 数组的形状改变
- 数组的类型转换
-
数学函数与统计方法
- 数组元素的数学运算
- 统计函数
- 线性代数运算
-
广播机制
- 什么是广播
- 广播的规则与示例
-
文件操作
- 读取与保存数组到文件
-
随机数的生成
- 生成随机数的方法
1. 简介
Numpy是什么
Numpy(Numerical Python)是Python的一个开源数值计算扩展库,用于存储和处理大型矩阵。它提供了大量的数学函数和操作这些矩阵的方法。
为什么使用Numpy
- Numpy数组在存储和计算大型数据时比Python原生列表更高效。
- Numpy提供了大量的数学函数和线性代数运算,简化了科学计算。
2. 数组对象(ndarray)
创建数组
import numpy as np# 一维数组
arr1 = np.array([1, 2, 3, 4, 5])
print(arr1)# 二维数组
arr2 = np.array([[1, 2, 3], [4, 5, 6]])
print(arr2)# 使用特殊函数创建数组
zeros = np.zeros((2, 3)) # 创建一个2x3的零数组
ones = np.ones((2, 3)) # 创建一个2x3的全1数组
print(zeros)
print(ones)
数组的属性
print(arr2.shape) # 输出数组的形状
print(arr2.dtype) # 输出数组的数据类型
print(arr2.size) # 输出数组的元素个数
print(arr2.ndim) # 输出数组的维度
数组的形状操作
# 改变数组的形状
arr2_reshaped = arr2.reshape((3, 2))
print(arr2_reshaped)# 数组转置
arr2_transposed = arr2.T
print(arr2_transposed)
3. 数组的基本操作
数组索引与切片
# 一维数组索引与切片
print(arr1[0]) # 输出第一个元素
print(arr1[1:4]) # 输出第二个到第四个元素# 二维数组索引与切片
print(arr2[0, 1]) # 输出第一行第二列的元素
print(arr2[0, :]) # 输出第一行的所有元素
print(arr2[:, 1]) # 输出所有行的第二列元素
数组的形状改变
# 使用ravel()将二维数组展平为一维数组
arr2_flattened = arr2.ravel()
print(arr2_flattened)# 使用resize()改变数组的形状
arr2.resize((3, 1))
print(arr2)
数组的类型转换
# 将数组转换为浮点型
arr2_float = arr2.astype(np.float64)
print(arr2_float)
4. 数学函数与统计方法
数组元素的数学运算
# 元素级运算
arr3 = np.array([1, 2, 3])
arr4 = np.array([4, 5, 6])
print(arr3 + arr4) # 对应元素相加
print(arr3 * arr4) # 对应元素相乘
统计函数
# 计算数组的基本统计量
print(np.mean(arr1)) # 平均值
print(np.median(arr1)) # 中位数
print(np.std(arr1)) # 标准差
print(np.var(arr1)) # 方差
print(np.max(arr1)) # 最大值
print(np.min(arr1)) # 最小值
线性代数运算
# 创建两个矩阵
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])# 矩阵乘法
print(np.dot(A, B))# 矩阵的逆
print(np.linalg.inv(A))
5. 广播机制
什么是广播
广播是numpy中用于在不同形状的数组之间执行算术运算的一种机制。
广播的规则与示例
# 示例1:一维数组与标量运算
arr5 = np.array([1, 2, 3])
print(arr5 + 10) # 每个元素都加上10# 示例2:形状兼容的数组运算
arr6 = np.array([[1, 2], [3, 4]])
arr7 = np.array([5, 6])
print(arr6 + arr7) # arr7会被广播到与arr6相同的形状
6. 文件操作
读取与保存数组到文件
# 保存数组到文本文件
np.savetxt('array.txt', arr2, delimiter=',')# 从文本文件读取数组
loaded_array = np.loadtxt('array.txt', delimiter=',')
print(loaded_array)
7. 随机数的生成
生成随机数的方法
# 生成一个0到1之间的随机浮点数
print(np.random.rand())# 生成一个指定形状的数组,数组元素为0到1之间的随机浮点数
print(np.random.rand(2, 3))# 生成一个指定范围内的随机整数
print(np.random.randint(low=0, high=10, size=(2, 3)))# 生成一个服从正态分布的随机数数组
print(np.random.randn(2, 3))
希望这份Numpy基础知识点总览和代码示例能帮助你更好地学习和分享Numpy的相关知识。如果有任何疑问或需要进一步的解释,请随时提问。
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,自学记录Numpy基础知识点总览。