美文网首页
Numpy基础

Numpy基础

作者: Pope_Li | 来源:发表于2018-11-17 19:34 被阅读0次

什么是numpy?

  Numpy是Numerical Python 的简称,它是python数值计算中最为重要的基础包.大多数计算包都提供了基于NumPy的科学函数功能,将NumPy的数组对象作为数据交换的通用语.

为什么要用Numpy

  Numpy提供了一个非常易用的API,将数据传给底层语言编写的外部类库,再由外部类库将计算结果按照Numpy数组的方式返回,变得非常简单.Numpy本身不提供建模和科学函数,理解Numpy的数组以及基于数组的计算将帮助你更高效的使用基于数组的工具,比如Pandas.
在Numpy中:

  • ndarry,一种高效多维数组,提供了基于数组的便捷算术操作以及灵活的广播功能.
  • 对所有数据进行快速矩阵计算,而无须编写循环程序
  • 对硬盘中数组数据进行读写的工具,并对内存映射文件进行操作.
  • 线性代数,随机数生成以及傅里叶变换功能.
  • 用于连接NumPy到c,c++和FORTRAN语言类库的C语言API

怎么用Numpy

Numpy主要用于数据分析:

  • 在数据清理,清洗,构造子集,过滤,变换以及其他计算中进行快速的向量计算.
  • 常见的数组计算,比sort,unique以及set操作.
  • 高效的描述性统计和聚合/概述数据.
  • 数据排列和相关数据操作,例如对异构数据进行merge 和 join.
  • 使用数组表达式来表明条件逻辑,代替if-elif-else条件分支的循环.
  • 分组数据操作

Numpy的数据分析如此重要,其中一个原因就是它对处理大量数组的数据非常有效:

  • Numpy在内部将数据储存在连续的内存块上,这与其他的Python内建数据结构是不同的.Numpy的算法库是用C语言写的,所以在操作数据内存时,不需要任何类型的检查或者其他管理操作.Numpy数组使用的内存量也小于其他的Python内建序列.
  • Numpy可以针对全量数组进行复杂计算而不用写Python循环

Numpy ndarray:多维数组对象

  Numpy的核心特征之一就是多维数组对象----ndarray.ndarray是Python中一个快速,灵活的大型数据集容器.数组允许使用类似于标量的操作语法在整块数据上进行数学计算.

import numpy as np 
data = np.random.randn(2,3)
print(data)
#[[-1.48808504 -0.12575993 -2.61587575]
# [ 0.18325062  1.95968089 -0.68765384]]

  在python中,需要用Numpy的话,需要用标准导入式导入import numpy as np在Numpy这个包中包含了大量与python内建函数重命名的函数.
  一个ndarray是一个通用的多维同类数据容器,其内部的每一个元素都是相同类型的.每一个数组都有一个shape属性,用来描述ndarray的结构.每一个数组都有一个dtype属性,用来描述数组的数据类型.

data.shape
#(2,3)#(行,列)
data.dtype
#dtype('float64')

ndarray = Numpy数组 = 数组

如何生成一个ndarray

  在生成一个数组的方法中最简单的是array函数,array函数接收任意的序列型对象,生成一个新的包含传递数据的Numpy数组.

data1 = [6,7.5,8,0,1]
arr1 = np.array(data1)
#array([6.,7,5,8.,0,1.])

在列表中输入的有整型和浮点型,生成ndarray时整型升级成浮点型,

data2 = [[1,2,3,4],[5,6,7,8]]
arr2 = np.array(data2)
#array([[1,2,3,4],
 #           [5,6,7,8]])

  除了用np.array还有其他函数可以创建新数组.例如zeros可以一次性创造全0数组,ones可以一次性创造全1数组.empty则可以创建一个没有初始化数值的数组.想要创建高维数组,则需要为shape传递一个元组.

np.zeros(3)
#array([0.,0.,0.])
np.zeros((2,3))
#array([[0.,0.,0.],
#          [0.,0.,0.]]) 

arange是Python内建函数range的数字版,返回一个数组

np.arange(3)
#array([0,1,2])

Numpy数据类型

  数据类型,即dytpe,是一个特殊的对象,是ndarray的元数据,即:表示数据的数据.

arr1 = np.array([1,2,3],dtype = np.float64)
arr2 = np.array([1,2,3],dtype = np.int32)

  在Numpy中的数据类型与python中相同,比如int,float,str,'bool',在数据分析中只需要记住这几类就行,但是在需要内存或硬盘是做更深入的存取操作时,尤其是大数据集时,才需要记住数据类型.

相关文章

  • Numpy入门

    1、熟悉 numpy 的基础属性 2、numpy 创建 array 3、numpy的基础运算 4、numpy索引 ...

  • Numpy | 基础操作(矩阵)

    NumPy 基础操作 什么是 NumPy NumPy是Python中科学计算的基础包。它是一个Python库,提供...

  • numpy 基础

    numpy 基础 导入numpy 版本 np常用方法 numpy.array 的基本属性 numpy.array ...

  • Python-Numpy学习1

    安装numpy conda install numpy 或者是 pip install numpy 基础用法 ax...

  • Numpy库(一)- 数组的创建

    1 Numpy预备基础知识: 1.1 Numpy数据类型: ​ 1.2 Numpy数组属性: ​ 1.2.1 各个...

  • python库用途说明

    numpy提供基础矩阵运算

  • 1. pandas apply

    1. numpy pandas基础 numpy底层C语言实现,速度快,pandas是numpy的包装版

  • Numpy

    NumPy是Numeric Python的简称 NumPy是Python科学计算的基础工具包 NumPy是Pyth...

  • Pytorch教程

    Pytorch 神经网络基础 1.1 Pytorch & Numpy 1.1.1 用Torch还是Numpy To...

  • Numpy学习笔记

    Numpy学习笔记 Numpy基础 Numpy的数组类也叫ndarray,也就是大家所熟悉的array;ndarr...

网友评论

      本文标题:Numpy基础

      本文链接:https://www.haomeiwen.com/subject/sqjvnftx.html