0.numpy介绍
NumPy
是一个功能强大的Python
库,主要用于对多维数组执行计算。NumPy
这个词来源于两个单词-- Numerical
和Python
。NumPy
提供了大量的库函数和操作,可以帮助程序员轻松地进行数值计算。在数据分析和机器学习领域被广泛使用。他有以下几个特点:
- Numpy内置了并行运算功能,当系统有多个核心时,做某种计算时,numpy会自动做并行计算。
- Numpy底层使用C语言编写,内部解除了GIL(全局解释器锁),其对数组的操作速度不受Python解释器的限制,效率远高于纯Python代码。
- 实用的线性代数、傅里叶变换和随机数生成函数。
安装
通过 pip install numpy
即可安装,如果是 anaconda 环境,默认就安装好了
教程地址:
- 官网:
https://docs.scipy.org/doc/numpy/user/quickstart.html
。
numpy官方
1. ndarray介绍
NumPy提供了一个N维数组类型ndarray,它描述了相同类型的“items”的集合。
-例如
import numpy as np
# 创建 ndarray
```py
score = np.array([
[80, 89, 86, 67, 79],
[78, 97, 89, 67, 81],
[90, 94, 78, 67, 74],
[91, 91, 90, 67, 69],
[76, 87, 75, 67, 86],
[70, 79, 84, 67, 84],
[94, 92, 93, 67, 64],
[86, 85, 83, 67, 80]]
)
score
array数组的属性
"""三维数组"""
score2=np.array(
[# 一维
[ # 二维
[55, 56, 67, 57, 58], # 三维
[25, 26, 27, 28, 30],
[66, 68, 67, 63, 51]
],
[ # 二维
[55, 56, 67, 57, 58], # 三维
[25, 26, 27, 28, 30],
[66, 68, 67, 63, 51]
]
],dtype='<U11'
)
score2
2.矩阵
常规建议在jupyter notebook输入np.arange?
了解等差数列
在jupyter notebook输入np.logspace
了解等比数列
以下是我在jupyter notebook的截图
3.正态分布
正态分布是一种概率分布。正态分布是具有两个参数μ和σ的连续型随机变量的分布,第一参数μ是服从正态分布的随机变量的均值,第二个参数σ是此随机变量的标准差,所以正态分布记作N(μ,σ )。
μ决定了其位置,其标准差σ决定了分布的幅度。当μ = 0,σ = 1时的正态分布是标准正态分布。
正态分布创建
-
np.random.randn(d0, d1, …, dn)
功能:从标准正态分布中返回一个或多个样本值
-
np.random.normal(loc=0.0, scale=1.0, size=None)
loc:float 此概率分布的均值(对应着整个分布的中心centre)
scale:float 此概率分布的标准差(对应于分布的宽度,scale越大越矮胖,scale越小,越瘦高)
size:int or tuple of ints 输出的shape,默认为None,只输出一个值
-
np.random.standard_normal(size=None)
返回指定形状的标准正态分布的数组。
- 案例-生成均值为1.75,标准差为1的正态分布数据,100000000个
import matplotlib.pyplot as plt
# 生成均值为1.75,标准差为1的正态分布数据,100000000个
x1 = np.random.normal(loc=1.75, scale=1, size=100000)
import matplotlib.pyplot as plt
# 1.创建画布
plt.figure(figsize=(20, 8), dpi=100)
# 2.绘制图像
plt.hist(x1, 1000)
# 3.显示图像
plt.show()
4.均匀分布
- np.random.rand(d0, d1, …, dn)
- 返回**[0.0,1.0)**内的一组均匀分布的数。
- np.random.uniform(low=0.0, high=1.0, size=None)
- 功能:从一个均匀分布[low,high)中随机采样,注意定义域是左闭右开,即包含low,不包含high.
- 参数介绍:
- low: 采样下界,float类型,默认值为0;
- high: 采样上界,float类型,默认值为1;
- size: 输出样本数目,为int或元组(tuple)类型,例如,size=(m,n,k), 则输出mnk个样本,缺省时输出1个值。
- 返回值:ndarray类型,其形状和参数size中描述一致。
- np.random.randint(low, high=None, size=None, dtype=‘l’)
- 从一个均匀分布中随机采样,生成一个整数或N维整数数组
- 取数范围:若high不为None时,取[low,high)之间随机整数,否则取值[0,low)之间随机整数。
- 案例
import matplotlib.pyplot as plt
# 生成均匀分布的随机数
x2 = np.random.uniform(-1, 1, 100000000)
# 画图看分布状况
# 1)创建画布
plt.figure(figsize=(10, 10), dpi=100)
# 2)绘制直方图
plt.hist(x=x2, bins=1000) # x代表要使用的数据,bins表示要划分区间数
在vscode的截图
教程地址:
- 官网:
https://docs.scipy.org/doc/numpy/user/quickstart.html
。
numpy官方