Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >【NumPy高级运用】NumPy的Matrix与Broadcast高级运用以及IO操作

【NumPy高级运用】NumPy的Matrix与Broadcast高级运用以及IO操作

作者头像
上进小菜猪
发布于 2022-12-23 00:25:49
发布于 2022-12-23 00:25:49
57300
代码可运行
举报
运行总次数:0
代码可运行

Matrix高级运用

Matrix函数的作用是返回给定大小的标识矩阵。 单位矩阵是一个方阵。从左上角到右下角的对角线上的元素(称为主对角线)均为1,其他所有元素均为0。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/c157d43915c24198a13ee8904c348af4.png

大小为 5,类型位浮点型

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import numpy.matlib 
import numpy as np 
print (np.matlib.identity(5, dtype =  float))

NumPy包含一个矩阵库NumPy.matlib。此模块中的函数返回一个矩阵,而不是数组对象。 矩阵是行和列元素的矩形阵列。 矩阵中的元素可以是数字、符号或数学表达式。以下是由6个数字元素组成的2行3列矩阵: 转置矩阵 在NumPy中,除了使用NumPy.transpose函数交换数组的维度外,还可以使用T属性。。 例如,通过使用t()函数,可以将具有m行和n列的矩阵转换为具有n行和m列的矩阵。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import numpy.matlib 
import numpy as np
 
print (np.matlib.empty((2,2)))

NumPy的Broadcast运用

广播是numpy对不同形状的数组执行数值计算的一种方式。数组上的算术运算通常在相应的元素上执行。 如果两个数组a和b的形状相同,即a.shape==b.shape,则a*b的结果是数组a和b的相应位的乘法。这需要相同的维数和每个维数的相同长度。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import numpy as np 
 
a = np.array([[ 0, 0, 0],
           [10,10,10],
           [20,20,20],
           [30,30,30]])
b = np.array([1,2,3])
bb = np.tile(b, (4, 1))  # 重复 b 的各个维度
print(a + bb)

让所有输入数组与具有最长形状的数组对齐。形状中不足的部分通过在前面添加1来填充。 输出阵列的形状是输入阵列形状的每个维度的最大值。 如果输入数组的维度的长度与输出数组的相应维度的长度相同或其长度为1,则可以使用该数组进行计算,否则会发生错误。 当输入数组的维度长度为1时,该维度中的第一组值将用于沿该维度的操作。 简单理解:比较两个数组的每个维度(如果一个数组没有当前维度,则忽略它),满足以下要求: 数组具有相同的形状。 当前维度的值相等。 当前维度的值之一为1。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import numpy as np 
 
a = np.array([[ 0, 0, 0],
           [10,10,10],
           [20,20,20],
           [30,30,30]])
b = np.array([0,1,2])
print(a + b)

IO操作

c 使用了关键字参数 sin_array

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import numpy as np 
 
a = np.array([[1,2,3],[4,5,6]])
b = np.arange(0, 1.0, 0.1)
c = np.sin(b)
np.savez("runoob.npz", a, b, sin_array = c)
r = np.load("runoob.npz")  
print(r.files) 
print(r["arr_0"]) # 数组 a
print(r["arr_1"]) # 数组 b
print(r["sin_array"]) # 数组 c

Numpy可以在磁盘上读写文本数据或二进制数据。 NumPy为数组对象引入了一种简单的文件格式:npy。 npy文件用于存储重建阵列所需的数据、图形、数据类型和其他信息。 常见的IO功能有: load()和save()函数是读取和写入文件数组数据的两个主要函数。默认情况下,数组以未压缩的原始二进制格式保存在扩展名为的文件中。npy。 savez()函数用于将多个数组写入文件。默认情况下,数组以未压缩的原始二进制格式保存在扩展名为.npz的文件中。 loadtxt()和savetxt()函数处理普通文本文件(.txt等)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import numpy as np 
 
b = np.load('outfile.npy')  
print (b)

文件:要保存的文件的扩展名为。npz。如果没有扩展。npz在文件路径的末尾,将自动添加扩展名。 Args:对于要保存的数组,可以使用关键字参数来命名数组。非关键字参数传递的数组将自动命名为arr_0、arr_1 Kwds:要保存的数组使用关键字名称。 NumPy数组的维数称为rank,rank是轴的数量,即数组的维数。一维阵列的秩是1,二维阵列的秩为2,依此类推。 在NumPy中,每个线性阵列称为轴,即维度。例如,二维阵列等效于两个一维阵列,第一个一维阵列中的每个元素都是一维阵列。所以一维数组是NumPy中的轴。第一个轴等效于基础数组,第二个轴是基础数组中的数组。轴的数量,秩,是阵列的维数。 在许多情况下,可以声明axis。轴=0,表示沿第0轴操作,即在每列上操作;轴=1,这意味着沿第一轴操作,即在每条线上操作。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-12-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python:Numpy详解
NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。
用户7886150
2021/01/03
3.6K0
numpy: IO模块
  NumPy 为 ndarray对象 引入了一个简单的文件格式。 这个npy文件在磁盘文件中,存储重建ndarray所需的数据、图形、dtype和其他信息,以便正确获取数组,即使该文件在具有不同架构的另一台机器上。
JNingWei
2018/09/28
6430
Python:机器学习三剑客之 NumPy
Numpy是高性能科学计算和数据分析的基础包,机器学习三剑客之一。Numpy库中最核心的部分是ndarray 对象,它封装了同构数据类型的n维数组。部分功能如下:
丹枫无迹
2019/09/11
9770
NumPy 笔记(超级全!收藏√)
NumPy 教程NumPy Ndarray 对象NumPy 数据类型数据类型对象 (dtype)
用户7886150
2021/01/08
4.7K0
python如何保存矩阵,保存matrix,保存numpy.ndarray
问题:如何将array保存到txt文件中?如何将存到txt文件中的数据读出为ndarray类型?python如何保存矩阵,保存matrix,保存numpy.ndarray 分析 a = np.arange(0,12,0.5).reshape(4,-1) np.savetxt("a.txt", a) # 缺省按照'%.18e'格式保存数据,以空格分隔 np.loadtxt("a.txt") array([[ 0. , 0.5, 1. , 1.5, 2. , 2.5],
学到老
2018/04/02
13.2K0
python如何保存矩阵,保存matrix,保存numpy.ndarray
Python-Numpy多维数组 -- 矩阵库、线性代数、绘图库Matplotlib
NumPy 包包含一个 Matrix库numpy.matlib。此模块的函数返回矩阵而不是返回ndarray对象。
用户7886150
2021/01/07
1.5K0
Python3快速入门(十二)——Num
NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,同时对数组运算提供了大量的数学函数库。 Numpy 是一个运行速度非常快的数学库,内部解除了CPython的GIL,运行效率极好,主要用于数组计算,是大量机器学习框架的基础库,NumPy主要包括如下: (1)强大的N维数组对象 ndarray (2)广播功能函数 (3)整合 C/C++/Fortran 代码的工具 (4)线性代数、傅里叶变换、随机数生成等功能。 NumPy 通常与 SciPy(Scientific Python)和 Matplotlib(绘图库)组合使用,用于替代 MatLab。
py3study
2020/01/06
4.7K0
Python:numpy总结(4)
31、chr函数,获取指定的字符 例子: #获取指定的字符for i in range(65,70): print str(chr(i)) 结果: A BCDE 32、random.shuffle 例子: ll=range(9)#返回列表print ll #shuffle函数随机打乱列表中的元素顺序print random.shuffle(ll) print ll 结果: [0, 1, 2, 3, 4, 5, 6, 7, 8] None [8, 5, 1, 4, 2,
昱良
2018/04/04
8510
如果不懂Numpy,请别说自己是Python程序员
大约七八年前,我曾经用 pyOpenGL 画过地球磁层顶的三维模型,这段代码至今仍然还运行在某科研机构里。在那之前,我一直觉得自己是一个合(you)格(xiu)的 python 程序员,似乎无所不能。但磁层顶模型的显示效果令我沮丧——尽管这个模型只有十几万个顶点,拖拽、缩放却非常卡顿。最终,我把顶点数量删减到两万左右,以兼顾模型质量和响应速度,才勉强交付了这个任务。从此我开始怀疑 python 的性能,甚至一度怀疑 python 是否还是我的首选工具。
AI科技大本营
2019/10/10
1.9K0
如果不懂Numpy,请别说自己是Python程序员
如何读取npy文件_mfc设置保存文件的类型
1、npy文件—Numpy专用的二进制格式。既可以保存数据也可以保存数据集(包括图片)
全栈程序员站长
2022/11/15
1.5K0
NumPy教程(Numpy基本操作、Numpy数据处理)
介绍几种 numpy 的属性: • ndim:维度 • shape:行数和列数 • size:元素个数 使用numpy首先要导入模块
用户7886150
2021/01/05
1.6K0
NumPy-读写文件「建议收藏」
(1) save 函数是以二进制的格式保存数据。 格式: np.save (“./save_arr “, arr1) (2) load 函数是从二进制的文件中读取数据。 格式: np.load(“./ save_arr.npy”) (3) savez 函数可以将多个数组保存到一个文件中。 格式: np.savez(‘./savez_arr’,arr1,arr2) (4) 存储时可以省略扩展名,但读取时不能省略扩展名
全栈程序员站长
2022/08/24
1.1K0
TutorialsPoint NumPy 教程
NumPy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。
ApacheCN_飞龙
2022/12/01
3.9K0
TutorialsPoint NumPy 教程
python笔记之NUMPY中的掩码数组numpy.ma.mask
numpy对于多维数组的运算在默认情况下并不使用矩阵运算,进行矩阵运算可以通过matrix对象或者矩阵函数来进行;
用户7886150
2021/01/03
3.5K0
Numpy 学习之矩阵、函数、二元运算及数组读写
矩阵 # --*--coding:utf-8--*-- import numpy as np """ 矩阵 """ # mat(array),将二维数组转化为矩阵 a = np.array([[1,2,4], [4, 5, 6], [8, 9, 10]]) print('matrix:\n', np.mat(a)) print(np.mat('1,2,4;5,6,9')) # matrix.I,表示matrix的逆矩阵 print(np.mat(a)
村雨遥
2022/06/15
2990
NumPy 1.26 中文官方指南(二)
NumPy(Numerical Python)是一个开源的 Python 库,几乎在每个科学和工程领域中都被使用。它是 Python 中处理数值数据的通用标准,在科学 Python 和 PyData 生态系统的核心地位不可撼动。NumPy 的用户包括从初学者程序员到经验丰富的从事最前沿的科学和工业研究与开发的研究人员。NumPy API 在 Pandas、SciPy、Matplotlib、scikit-learn、scikit-image 和大多数其他数据科学和科学 Python 软件包中得到广泛应用。
ApacheCN_飞龙
2024/04/26
3990
NumPy 1.26 中文官方指南(二)
Numpy教程第2部分 - 数据分析的重要功能
【导读】Numpy是python数据分析和科学计算的核心软件包。 上次介绍了numpy的一些基础操作。例如如何创建一个array,如何提取array元素,重塑(reshape)数组,生成随机数(random)等,在这一部分,专知成员Fan将详细介绍numpy的高级功能,这些功能对于数据分析和操作非常重要。 Numpy教程第1部分可以参见专知公众号: Numpy教程第1部分 - 阵列简介(常用基础操作总结) ▌一、如何使用np.where获得满足给定条件的索引位置? ---- 1、有时候我们不仅仅需要知道ar
WZEARW
2018/04/08
2.9K0
Numpy教程第2部分 - 数据分析的重要功能
如何将NumPy数组保存到文件中以进行机器学习
祝大家新年快乐,今天看到的文章然后就翻译了一下,涉及到的技术点都很简单,算是一篇水文,而且我对文章的改动比较大,但是还希望能给你带来一点帮助。
PM小王
2020/01/15
7.8K0
小白眼中的AI之~Numpy基础
引入一下 Numpy模块, Numpy的数组使用可以查看一下帮助文档, Numpy的 array数组类型必须是一致的(后面会讲)
逸鹏
2018/07/16
1K0
numpy中的文件读写
在实际开发中,我们需要从文件中读取数据,并进行处理。在numpy中,提供了一系列函数从文件中读取内容并生成矩阵,常用的函数有以下两个
生信修炼手册
2020/06/18
2.1K0
相关推荐
Python:Numpy详解
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文