numpy之-概要,数据,类型和示例

栏目: Python · 发布时间: 5年前

内容简介:大学学习一直使用matlab处理矩阵,行列式运算,功能强大,但是这么多年基本忘光了。现在推荐算法,数据处理,机器学习,人工智能,数据分析处理在工作中的工作需求越来越重要,目前很多有这些方面的需求,需要把相关的东西再拾回来。最近发现numpy,matplotlab,pandas,scipy可以完全替代matlab,而且因为各个模块免费的,网络教程相当丰富既然各个条件都满足,所以决定静下心来好好的复习,学习一下这些东西。首先学习numpy,一周左右弄清所有的概念和使用,会有4-6篇文章。NumPy 是一个运行速

大学学习一直使用matlab处理矩阵,行列式运算,功能强大,但是这么多年基本忘光了。现在推荐算法,数据处理,机器学习,人工智能,数据分析处理在工作中的工作需求越来越重要,目前很多有这些方面的需求,需要把相关的东西再拾回来。最近发现numpy,matplotlab,pandas,scipy可以完全替代matlab,而且因为各个模块免费的,网络教程相当丰富既然各个条件都满足,所以决定静下心来好好的复习,学习一下这些东西。首先学习numpy,一周左右弄清所有的概念和使用,会有4-6篇文章。

numpy相关说明:

NumPy 是一个运行速度非常快的数学库,主要用于数组计算。支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库,包含:

  1. 一个强大的N维数组对象 ndarray
  2. 广播功能函数
  3. 整合 C/C++/Fortran 代码的工具
  4. 线性代数、傅里叶变换、随机数生成等功能

numpy使用pip安装

1, 目前最新版都已经内置pip模块

python -m pip install --user numpy scipy matplotlib ipython jupyter pandas sympy nose
   
复制代码

2, 检测是否安装成功

>>> import numpy as np
>>> np.__version__
'1.16.3'
复制代码

3, NumPy Ndarray 对象

ndarray是一个N维,相同类型的数据的组合,每个元素占用相同类型的内存空间,并且以0开始索引。 ndarray 内部由以下内容组成:

  1. 一个指向数据(内存或内存映射文件中的一块数据)的指针。
  2. 数据类型或 dtype,描述在数组中的固定大小值的格子。
  3. 一个表示数组形状(shape)的元组,表示各维度大小的元组。
  4. 一个跨度元组(stride),其中的整数指的是为了前进到当前维度下一个元素需要"跨过"的字节数。

4, 创建ndarray对象

下面通过实例理解:

  • 通过列表创建一维ndarray对象:
>>> a = [1,2,3,4]
>>> dt = np.array(a)
>>> print(dt)
[1 2 3 4]
复制代码
  • 通过列表创建二维ndarray对象:
>>> a = [[1,2,3],[4,5,6]]
>>> dt = np.array(a)
>>> print(dt)
[[1 2 3]
 [4 5 6]]
复制代码
  • 通过列表创建多维ndarray对象:
>>> a = [[[1,2,3]],[[4,5,6]]]
>>> dt = np.array(a)
>>> print(dt)
[[[1 2 3]]

 [[4 5 6]]]
复制代码

带有类型的ndarray对象

  • 通过列表创建带有dtype=float的ndarray对象:
>>> a = [[1,2,3],[4,5,6]]
>>> dt = np.array(a,dtype='float')
>>> 
>>> print(dt)
[[1. 2. 3.]
 [4. 5. 6.]]
复制代码
  • 通过列表创建带有dtype=float的ndarray对象:
>>> a = [[1,2,3],[4,5,6]]
>>> dt = np.array(a,dtype='complex')
>>> print(dt)
[[1.+0.j 2.+0.j 3.+0.j]
 [4.+0.j 5.+0.j 6.+0.j]]
>>> 

复制代码

下面介绍一下上面说的dtype类型

dtype类型和 Python 中的数据类型一样,用来标识变量类型,不过numpy中的数据类型远比python类型要复杂,我们本章只做简单的介绍,后面会有单独的章节详细介绍。

  • 整数类型:(分为有符号和无符号类型)
类型名 说明
int_ 默认类型 int32或者int64
int8 有符号整数 (-128 到 127)
int16 有符号整数(-32768 到 32767)
int32 有符号整数(-2147483648 到2147483647)
int64 有符号整数(-9223372036854775808 到 9223372036854775807)
uint8 无符号整数(0 到 255)
uint16 无符号整数(0 到 65535)
uint32 无符号整数(0 到 4294967295)
uint64 无符号整数(0 到 18446744073709551615)
  • 浮点类型
类型名 说明
float_ float64的简写类型
float16 半精度浮点数,包括:1 个符号位,5 个指数位,10 个尾数位
float32 半精度浮点数,包括:1 个符号位,8 个指数位,32 个尾数位
float64 半精度浮点数,包括:1 个符号位,11 个指数位,52 个尾数位
  • 复数类型
类型名 说明
complex_ complex128的简写类型,即 128 位复数
complex64 表示双 32 位浮点数(实数部分和虚数部分)
complex128 表示双 64 位浮点数(实数部分和虚数部分)

使用示例简单理解:

复制代码

待续。。。。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

PHP Cookbook

PHP Cookbook

Adam Trachtenberg、David Sklar / O'Reilly Media / 2006-08-01 / USD 44.99

When it comes to creating dynamic web sites, the open source PHP language is red-hot property: used on more than 20 million web sites today, PHP is now more popular than Microsoft's ASP.NET technology......一起来看看 《PHP Cookbook》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

在线进制转换器
在线进制转换器

各进制数互转换器

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码