SciPy 基础功能
章节
默认情况下,所有NumPy函数都可以在SciPy(命名空间)中使用。当导入SciPy时,不需要显式地导入NumPy函数。NumPy的主要对象是n次多维数组ndarray,SciPy构建在ndarray数组之上,ndarray是存储单一数据类型的多维数组。在NumPy中,维度称为轴,坐标轴的数量称为秩。
通常线性代数主要处理矩阵运算,现在,让我们复习一下NumPy中向量/数组和矩阵的基本功能。
NumPy ndarray数组
ndarray是NumPy中最重要的类。
标准的Python列表(list)中,元素是对象。如:L = [1, 2, 3],需要3个指针和三个整数对象,对于数值运算比较浪费资源。
与此不同,ndarray中元素直接存储为原始数据,元素的类型由ndarray对象中的属性dtype描述。
当ndarray数组中的元素,通过索引或切片返回时,会根据dtype,从原始数据转换成Python对象,以便外部使用。
示例
将Python类数组对象转换为NumPy数组
import numpy as np
list = [1,2,3,4]
arr = np.array(list)
print (arr)
print (type(arr))
输出
[1 2 3 4]
<class 'numpy.ndarray'>
创建NumPy数组
NumPy中,可以使用下面介绍的内置函数创建ndarrray数组。
zeros()
zeros()
函数创建数组,并且把数组元素的值初始化为0,可以指定数组形状和数据类型。
示例
import numpy as np
print (np.zeros((2, 3)))
输出
[[0. 0. 0.]
[0. 0. 0.]]
ones()
ones()
函数创建数组,并且把数组元素的值初始化为1,可以指定数组形状和数据类型。
示例
import numpy as np
print (np.ones((2, 3)))
输出
[[1. 1. 1.]
[1. 1. 1.]]
arange()
arange()
函数创建递增数组。
示例
import numpy as np
print (np.arange(7))
输出
[0 1 2 3 4 5 6]
数组的数据类型
数据类型对象dtype,是描述数组中元素数据类型的对象。
示例
import numpy as np
arr = np.arange(2, 10, dtype = np.float)
print (arr)
print ("数组数据类型 :", arr.dtype)
输出
[ 2. 3. 4. 5. 6. 7. 8. 9.]
数组数据类型 : float64
linspace()
linspace()
函数创建一个数组,该数组包含指定区间内均匀分布的值。
示例
import numpy as np
print (np.linspace(1., 4., 6))
输出
[1. 1.6 2.2 2.8 3.4 4. ]
矩阵
矩阵是一种特殊的二维数组,它有一些特殊的运算符,如*(矩阵乘法)和**(矩阵幂)。
示例
import numpy as np
print (np.matrix('1 2; 3 4'))
输出
[[1 2]
[3 4]]
矩阵转置
将矩阵的行列互换得到的新矩阵,称为转置矩阵。
示例
import numpy as np
mat = np.matrix('1 2; 3 4')
mat.T
输出
matrix([[1, 3],
[2, 4]])
矩阵的共轭转置
共轭就是矩阵每个元素都取共轭(复数的实部不变,虚部取负)。
共轭转置就是先取共轭,再取转置。
示例
import numpy as np
mat = np.matrix('1 2; 3 4')
print (mat.H)
输出
matrix([[1, 3],
[2, 4]])
单位矩阵
单位矩阵在矩阵的乘法中,起着特殊的作用,如同数的乘法中的1。单位矩阵是个方阵,从左上角到右下角的对角线(称为主对角线)上的元素均为1,除此以外全都为0。
示例
创建单位矩阵:
import numpy.matlib
import numpy as np
print (np.matlib.identity(5))
输出
[[1. 0. 0. 0. 0.]
[0. 1. 0. 0. 0.]
[0. 0. 1. 0. 0.]
[0. 0. 0. 1. 0.]
[0. 0. 0. 0. 1.]]
逆矩阵
逆矩阵的数学定义:存在矩阵M以及矩阵N,假如M*N = 矩阵I(Identify Matrix单位矩阵),那么矩阵M和矩阵N互为逆矩阵。
示例
求一个矩阵的逆矩阵:
import numpy as np
mat = np.matrix('1 2; 3 4')
mat2 = mat.I
print(mat2)
输出
[[-2. 1. ]
[ 1.5 -0.5]]
SciPy 基础功能的更多相关文章
- 可在广域网部署运行的QQ高仿版 -- GG叽叽V3.0,完善基础功能(源码)
(前段时间封闭式开发完了一个项目,最近才有时间继续更新GG的后续版本,对那些关注GG的朋友来说,真的是很抱歉.)GG的前面几个版本开发了一些比较高级的功能,像视频聊天.远程桌面.文件传送.远程磁盘等, ...
- 谷歌Chrome浏览器开发者工具的基础功能
上一篇我们学习了谷歌Chrome浏览器开发者工具的基础功能,下面介绍的是Chrome开发工具中最有用的面板Sources.Sources面板几乎是最常用到的Chrome功能面板,也是解决一般问题的主要 ...
- Netsharp快速入门(之16) Netsharp基础功能(权限管理)
第5章 Netsharp基础功能 5.1 权限配置 5.1.1 功能权限 1.配置权限功能点,打开平台工具-基础业务-操作管理 2.选择资源节点为销售订单,点添加常用操作,添加完成后 ...
- 李洪强iOS开发之-环信03_集成 SDK 基础功能
李洪强iOS开发之-环信03_集成 SDK 基础功能 集成 SDK 基础功能 在您阅读此文档时,我们假定您已经具备了基础的 iOS 应用开发经验,并能够理解相关基础概念. SDK 同步/异步方法区分 ...
- wc基础功能
第一次作业 项目地址 https://gitee.com/xxlznb/WordCount PSP WordCount 预估耗时(分钟) 实际耗时 计划 20 30 预估任务需要时间 20 30 开发 ...
- Keepalived详解(三):Keepalived基础功能应用实例【转】
Keepalived基础功能应用实例: 1.Keepalived基础HA功能演示: 在默认情况下,Keepalived可以实现对系统死机.网络异常及Keepalived本身进行监控,也就是说当系统出现 ...
- jmeter 基础功能详解
jmeter 基础功能详解 thread group:包含一组线程,每个线程独立地执行测试计划. sampler:采样器,有多种不同的sample实现,用来发起各种请求,如http请求,jdbc请求, ...
- (转)Chrome开发者工具不完全指南(一、基础功能篇)
本篇转载自卖烧烤夫斯基,并做了小部分的修改. 原文地址:Chrome开发者工具不完全指南(一.基础功能篇) 原作者:卖烧烤夫斯基 就算你不是一名前端开发工程师,相信你也不会对Chrome浏览器感到陌生 ...
- 六、EnterpriseFrameWork框架基础功能之权限管理
回<[开源]EnterpriseFrameWork框架系列文章索引> 从本章开始进入框架的第二块内容“EnterpriseFrameWork框架的基础功能”,包括:权限管理.字典数据管理. ...
随机推荐
- leetcode 0215
目录 ✅ 1002. 查找常用字符 描述 解答 java other's implementation(todo watch me) cpp py ✅ 821. 字符的最短距离 描述 解答 cpp p ...
- Jmeter 如何发起一个Get请求
举例平台:https://www.juhe.cn/docs/api/id/65 前提条件: 1)要在聚合网站注册实名认证才可以收到Key,用于Get请求的参数数值 2)Jmeter本地安装好 3.这是 ...
- 洛谷 P1241 括号序列(栈)
嗯... 题目链接:https://www.luogu.org/problem/P1241 首先这道题是栈的入门题的加强版, 不仅要你判断这个括号序列是否合法,还要你将这个序列补充完整... 一开始是 ...
- sql server alter column identity
上网找 alter column identity 语句,将表中的一个字段调整成自动新增.发现没有. 跟踪了一下sql server 执行这一动作的语句,发现是新建了新表,将字段修改成自动新增,然后将 ...
- github日常的基本命令
git 常用命令 git clone 仓库地址 -从远端克隆项目 git pull -从远端拉取代码 git pull -p -从远端拉取代码和分支 提交代码流程: git add xxx -添加到暂 ...
- python 中的生成器(generator)
生成器不会吧结果保存在一个系列里,而是保存生成器的状态,在每次进行迭代时返回一个值,直到遇到StopTteration异常结束 1.生成器语法: 生成器表达式:通列表解析语法,只不过把列表解析的[] ...
- PAT A1135 Is It A Red Black Tree
判断一棵树是否是红黑树,按题给条件建树,dfs判断即可~ #include<bits/stdc++.h> using namespace std; ; struct node { int ...
- Primecoin服务端更新--操作流程
Primecoin服务端更新流程: 一.下载更新文件primecoin_x.y.z_xx.zip到/servers目录下:这里是把:版本primecoin0161alpha1更新到:版本primec ...
- Spring boot 2.x 中使用redis
一.添加Maven 依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifac ...
- IIS 应用程序池回收(代码实现)
回收 public void StartStopRecycleApp(string appName = "项目DLL名称", string method = "Recyc ...