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 位浮点数(实数部分和虚数部分)

使用示例简单理解:

复制代码

待续。。。。


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

查看所有标签

猜你喜欢:

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

大演算

大演算

佩德羅.多明戈斯 / 張正苓,胡玉城 / 三采 / 2016-8-1 / 620

揭開大數據、人工智慧、機器學習的祕密, 打造人類文明史上最強大的科技——終極演算法! 有一個終極演算法,可以解開宇宙所有的祕密, 現在大家都在競爭,誰能最先解開它! .機器學習是什麼?大演算又是什麼? .大演算如何運作與發展,機器可以預測什麼? .我們可以信任機器學過的東西嗎? .商業、政治為什麼要擁抱機器學習? .不只商業與政治,醫學與科學界也亟需......一起来看看 《大演算》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具