内容简介:大学学习一直使用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 位浮点数(实数部分和虚数部分) |
使用示例简单理解:
复制代码
待续。。。。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Cyberwar
Kathleen Hall Jamieson / Oxford University Press / 2018-10-3 / USD 16.96
The question of how Donald Trump won the 2016 election looms over his presidency. In particular, were the 78,000 voters who gave him an Electoral College victory affected by the Russian trolls and hac......一起来看看 《Cyberwar》 这本书的介绍吧!