python自学篇十五[Numpy——基础(二):(Numpy模块+array+zeros+ones+empty+range+linspace+logspace+随机数填充数组) ]

概括:Numpy+Scipy+pandas+matplotlib

在这里插入图片描述

Numpy简介

以矩阵为基础的数学计算模块,纯数学存储和处理大型矩阵。 这个是很基础的扩展,其余的扩展都是以此为基础。

一.Numpy历史

  • 1995年Jim HugUNin开发了Numeric
  • 随后Numarray包诞生
  • Travis Oliphants整合Numeric和Numarray,开发NumPy,2006年第一个版本诞生
  • 使用Anaconda发行版的Python,已经安装好NumPy模块,不用再安装NumPy模块
  • 依照标准的NumPy标准,习惯使用import numpy as np的方式导入该模块

二.Numpy模块

  • NumPy:Numerical Python,即数值Python包,是Python进行科学计算的一个基础包,所以是一个掌握其他Scipy库中模块的基础模块,一定需要先掌握该包的主要使用方式。
  • 官网:http://www.numpy.org/
  • 官方文档:https://docs.scipy.org/doc/numpy/user/index.html
  • NumPy模块是Python的一种开源的数值计算扩展,是一个用python实现的科学计算包,主要包括:
    一个具有矢量算术运算复杂广播能力的快速且节省空间的多维数组,称为ndarray(N-dimensional array object)
  • 用于对整组数据进行快速运算的标准数学函数:ufunc(universal function object)
  • 实用的线性代数、傅里叶变换和随机数生成函数。
  • NumPy和稀疏矩阵的运算包Scipy配合使用更加方便。

三. NumPy核心数据结构:ndarray

  • NumPy的数组类被称作ndarray。通常被称作数组。注意numpy.array和标准Python库类array.array并不相同,后者只处理一维数组和提供少量功能。
  • 一种由相同类型的元素组成的多维数组,元素数量是实现给定好的
  • 元素的数据类型由dtype(data-type)对象来指定,每个ndarray只有一种dtype类型
  • ndarray的大小固定,创建好数组后数组大小是不会再发生改变

四.ndarray创建(*)

可以通过numpy模块中的常用的几个函数进行创建ndarray多维数组对象

import numpy as np
help(np.array)#查看array方法
  • 1.jupyter中执行
    在这里插入图片描述

  • 2.pycharm中执行

在这里插入图片描述

1.array函数

接收一个普通的python序列,并将其转换为ndarray

在这里插入图片描述

2. zeros函数

创建指定长度或者形状的全零数组
代码:

np.zeros((3,3))
np.zeros((9,9))

结果:

array([[0., 0., 0.],
       [0., 0., 0.],
       [0., 0., 0.]])
array([[0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0.],
       [0., 0., 0., 0., 0., 0., 0., 0., 0.]])
3. ones函数

创建指定长度或者形状的全1数组

代码:

np.ones((6,6)

结果:

array([[1., 1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1., 1.],
       [1., 1., 1., 1., 1., 1.]])
4.empty函数

创建一个没有任何具体值的数组(准备地说是创建一些未初始化的ndarray多维数组)
代码:

np.empty((3,3))

结果:

array([[0., 0., 0.],
       [0., 0., 0.],
       [0., 0., 0.]])
5.其他创建方式(函数)
1.range函数
  • 类似python的range函数,通过指定开始值、终值和步长来创建一个一维数组,注意:最终创建的数组不包含终值
    在这里插入图片描述
2.linspace函数
  • 通过指定开始值、终值和元素个数来创建一个一维数组,数组的数据元素符合等差数列,可以通过endpoint关键字指定是否包含终值,默认包含终值
    在这里插入图片描述
3.logspace函数
  • inspace函数类似,不过创建的是等比数列数组
    在这里插入图片描述
4.使用随机数填充数组
  • 即使用numpy.random中的random()函数来创建0-1之间随机元素,数组包含的元素数量由参数决定

  • random.random
    代码:

np.random.random((3,3))

结果:

array([[0.99784209, 0.61915242, 0.07684086],
       [0.97593449, 0.53836222, 0.62750636],
       [0.4283442 , 0.24951201, 0.73712743]])
  • random.randint
    代码:
np.random.randint(1,9,size = (3,3))

结果:

array([[8, 7, 4],
       [1, 5, 8],
       [4, 3, 7]])
  • random.randn
    代码:
np.random.randn(3,3)

结果:

array([[-1.09872548,  0.95041229,  1.11752962],
       [ 0.34756919,  1.19748623, -0.63601329],
       [ 1.58791373, -0.59266421, -0.88357908]])
  • random.rand
    代码:
np.random.rand(9)

结果:

array([0.35041124, 0.95888718, 0.47212198, 0.69007302, 0.22252012,
       0.28099737, 0.26128754, 0.81092823, 0.84795548])
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值