zoukankan      html  css  js  c++  java
  • 数据分析库之Numpy

    Numpy get started

    NumPy中我们要学习的核心其实就是一个 ndarray n多 d dimension 维度 array数组 多维数组

    创建一个ndarray的几种方法

    import numpy as np

    1. 使用np.array()创建多维数组

    np.array([1,2,3])  # 多维数组的构造函数
    # 传入 列表 就可以创建响应的多维数组

    2. 使用np的常用函数(routines)创建

    1) np.ones(shape, dtype=None)
    功能:按照指定形状创建多维数组,并用1填充
    参数:
    shape 用于指定创建的多维数组的形状 可以传入2 或者 (2,3)
    dtype 数据的类型 np.int8 np.float64
    返回值:返回创建好的多维数组数组
    测试代码:
    shape用来指定创建的多维数组的 形状
    np.ones(2)  # 传入2 产生有两个元素的多维数组
    np.ones(shape=(2,3))  # ones创建出来的多维数组 内部的值 都是用1来填充
    np.ones(shape=(2,3,3,3,3))
    np.ones(shape=2)  # 一维
    np.ones(shape=(2,3))  # 二维
    np.ones(shape=(2,3,3))  # 这是一个三维数组 里面有两个元素 里面套了3个元素 
    np.ones(shape=(5,3,4))  # 这是一个三维数组 数组里面有5个元素 里面有3个元素 里面有4个元素
    2) np.zeros(shape, dtype=float)
    功能类似np.zeros只不过不是用1填充 而是用0填充
    3) np.full(shape, fill_value, dtype=None)
    # shape用来指定形状, fill_value用来指定用什么值来填充
    示例:
    np.full(shape=(2,3),fill_value=5)
    4) np.eye(N, dtype=float)
    功能:创建一个N行N列的方阵(方阵就是行和列的数量相等的矩阵)
    参数:N 指定矩阵中有多少行(也是多少列)
    返回值: 主对角线上是1,其他地方是0的方阵(单位矩阵)
    主对角线为1其他的位置为0(左上角的右下角的对角线叫做主对角线)
    示例:
    np.eye(5)
    # 单位矩阵
    # 主对角线上是1 其他地方是0的矩阵就是单位矩阵
    # 左上角到右下角的对角线 就是主对角线
    # 单位矩阵和其他矩阵相乘 得到的结果 还是原来的矩阵
    结果展示:
    array([[1., 0., 0., 0., 0.],
           [0., 1., 0., 0., 0.],
           [0., 0., 1., 0., 0.],
           [0., 0., 0., 1., 0.],
           [0., 0., 0., 0., 1.]])
    5.1) np.linspace(start, stop, num=50, dtype=None)
    功能:把start到stop的这个范围的数,等分成num份儿,填入数组
    5.2) np.logspace(start, stop, num=50, dtype=None)
    功能:把start到stop的这个范围的数,等分成num份儿,获得的值作为10的指数,求出来的值,填入数组

      参数说明:

      # start, stop, num=50
      # 从几开始 到几结束 num指定是要多少个 (0,5) (0,4] [0,5) [start,end]
      # np.linspace(1,5,3)
      # np.linspace(1,5,2) # 从1到5 的 等差数列
      # np.linspace(1,5,4)
      np.linspace(1,5,5)

    6) np.arange([start, ]stop, [step, ]dtype=None)
    从start,到end,每隔step取一个值,放入一个数组

    # [start,] stop[, step,]
    # np.arange(5) # 不指定start和step start默认是0 step默认是1 [0,5)每隔1取一个
    # np.arange(1,5) # 从1开始到5结束 每隔一个取一个
    np.arange(1,11,2)

    7) np.random.randint(low, high=None, size=None, dtype='l')
    从low到high的范围随机取整数,填充多维数组 size用于指定数组的形状 如 2 (2,3)
    8) np.random.randn(d0, d1, ..., dn)
    传入几个参数,就创建几维数组
    
    产生以0为中心 方差为1 的 标准正太分布 的随机数 填充数组
    
    如 np.random.randn(2,3,3) 产生一个三维数组 数组中有两个数组 两个数组中分别有三个数组 三个数组中每个都有三个元素
    # 里面的参数 用来指定各个维度中元素的个数
    np.random.randn(2,3)  # 产生一个多维数组 里面有2个元素 里面有三个元素
    # 标准正态分布 平均值是0 标准差是1 的正态分布 就是 标准正态分布
    # randn 按照指定的形状去产生 多维数组 里面的值用随机值来填充(随机值的产生 满足标准正态分布)
    9) np.random.normal(loc=0.0, scale=1.0, size=None)
    np.random.randn是标准正态分布(以0为中心,方差是1) normal是可以指定中心和方差的一般正态分布
    
    loc 正态分别的中心
    
    scale 正态分布的变化范围
    
    size 数组的形状 如 2 (2,3)
    # loc=0.0, scale=1.0, size=None
    # 指定分布中心 scale用来指定标准差 size指定形状
    # np.random.normal(loc=0,scale=1,size=(2,3))
    np.random.normal(loc=175,scale=15,size=(7,11))
    # np.random.normal(loc=175,scale=15,size=(3,4))

    naarray的属性

    4个必记参数:

    ndim:维度

    shape:形状(各维度的长度)

    size:总长度

    dtype:元素类型

    数组应用:用于绘图

    import matplotlib.pyplot as plt
    # imread可以读取图片
    jin = plt.imread('../backup/jin.png')
    jin.shape  # 这是一个三维数组 里面有273个元素 里面有411个元素 里面有3个元素
    plt.imshow(jin)
  • 相关阅读:
    CxfInvokeUtil
    springboot+webservice(cxf和jax-ws两种方式)
    cxf 工具类转载
    Java动态调用Webservice,不生成客户端,基于soapUI
    转载 CXF动态调用webservice
    spring gzip 静态压缩优化
    sql server2008登录出错怎么整
    配置opencv时计算机显示丢失opencv_world300d.dll如何解决
    随记
    多态与异常处理(课后作业)
  • 原文地址:https://www.cnblogs.com/louyifei0824/p/9911179.html
Copyright © 2011-2022 走看看