内容简介:大学学习一直使用matlab处理矩阵,行列式运算,功能强大,但是这么多年基本忘光了。现在推荐算法,数据处理,机器学习,人工智能,数据分析处理在工作中的工作需求越来越重要,目前很多有这些方面的需求,需要把相关的东西再拾回来。最近发现numpy,matplotlab,pandas,scipy可以完全替代matlab,而且因为各个模块免费的,网络教程相当丰富既然各个条件都满足,所以决定静下心来好好的复习,学习一下这些东西。首先学习numpy,一周左右弄清所有的概念和使用,会有4-6篇文章。NumPy 是一个运行速
大学学习一直使用matlab处理矩阵,行列式运算,功能强大,但是这么多年基本忘光了。现在推荐算法,数据处理,机器学习,人工智能,数据分析处理在工作中的工作需求越来越重要,目前很多有这些方面的需求,需要把相关的东西再拾回来。最近发现numpy,matplotlab,pandas,scipy可以完全替代matlab,而且因为各个模块免费的,网络教程相当丰富既然各个条件都满足,所以决定静下心来好好的复习,学习一下这些东西。首先学习numpy,一周左右弄清所有的概念和使用,会有4-6篇文章。
numpy相关说明:
NumPy 是一个运行速度非常快的数学库,主要用于数组计算。支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库,包含:
- 一个强大的N维数组对象 ndarray
- 广播功能函数
- 整合 C/C++/Fortran 代码的工具
- 线性代数、傅里叶变换、随机数生成等功能
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 内部由以下内容组成:
- 一个指向数据(内存或内存映射文件中的一块数据)的指针。
- 数据类型或 dtype,描述在数组中的固定大小值的格子。
- 一个表示数组形状(shape)的元组,表示各维度大小的元组。
- 一个跨度元组(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
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》 这本书的介绍吧!