day3 - 初学numpy

0.numpy介绍

NumPy是一个功能强大的Python库,主要用于对多维数组执行计算。NumPy这个词来源于两个单词-- NumericalPythonNumPy提供了大量的库函数和操作,可以帮助程序员轻松地进行数值计算。在数据分析和机器学习领域被广泛使用。他有以下几个特点:

  1. Numpy内置了并行运算功能,当系统有多个核心时,做某种计算时,numpy会自动做并行计算。
  2. Numpy底层使用C语言编写,内部解除了GIL(全局解释器锁),其对数组的操作速度不受Python解释器的限制,效率远高于纯Python代码。
  3. 实用的线性代数、傅里叶变换和随机数生成函数。

安装
通过 pip install numpy 即可安装,如果是 anaconda 环境,默认就安装好了

教程地址:

  1. 官网: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的截图
在这里插入图片描述

在这里插入图片描述
教程地址:

  1. 官网:https://docs.scipy.org/doc/numpy/user/quickstart.html
    numpy官方
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值