NumPy学习12
今天学习了
22, NumPy矩阵乘法
23, NumPy IO操作
numpy_test12.py :
import numpy as np '''
22, NumPy矩阵乘法
矩阵乘法是将两个矩阵作为输入值,并将 A 矩阵的行与 B 矩阵的列对应位置相乘再相加,从而生成一个新矩阵。
注意:必须确保第一个矩阵中的行数等于第二个矩阵中的列数,否则不能进行矩阵乘法运算。 矩阵乘法运算被称为向量化操作,向量化的主要目的是减少使用的 for 循环次数或者根本不使用。
这样做的目的是为了加速程序的计算。
'''
print("----22, NumPy矩阵乘法----") '''
(1) np.multiply()
multiple() 函数用于两个矩阵的逐元素乘法.
'''
print("----(1) np.multiply()----")
arr1 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]], ndmin=3)
print('arr1 : ', arr1)
arr2 = np.array([[9, 8, 7], [6, 5, 4], [3, 2, 1]], ndmin=3)
print('arr2 : ', arr2)
# 两个矩阵的逐元素乘法
result = np.multiply(arr1,arr2)
print('result : ', result)
'''
arr1 : [[[1 2 3]
[4 5 6]
[7 8 9]]]
arr2 : [[[9 8 7]
[6 5 4]
[3 2 1]]]
result : [[ [ 9 16 21]
[24 25 24]
[21 16 9]]]
''' '''
(2) np.matmul()
matmul() 用于计算两个数组的矩阵乘积。
'''
print("----(2) np.matmul()----")
arr3 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]], ndmin=3)
print('arr3 : ', arr3)
arr4 = np.array([[9, 8, 7], [6, 5, 4], [3, 2, 1]], ndmin=3)
print('arr4 : ', arr4)
# 两个数组的矩阵乘积
result = np.matmul(arr3,arr4)
print('result : ', result)
'''
arr3 : [[[1 2 3]
[4 5 6]
[7 8 9]]]
arr4 : [[[9 8 7]
[6 5 4]
[3 2 1]]]
result : [[ [ 30 24 18]
[ 84 69 54]
[138 114 90]]]
''' '''
(3) np.dot()
dot() 函数用于计算两个矩阵的点积。
'''
print("----(3) np.dot()----")
arr5 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9],], ndmin=3)
print('arr5 : ', arr5)
arr6 = np.array([[9, 8, 7], [6, 5, 4], [3, 2, 1]], ndmin=3)
print('arr6 : ', arr6)
# 两个矩阵的点积
result = np.dot(arr5, arr6)
print('result : ', result)
'''
arr5 : [[[1 2 3]
[4 5 6]
[7 8 9]]]
arr6 : [[[9 8 7]
[6 5 4]
[3 2 1]]]
result : [[ [[ 30 24 18]] [[ 84 69 54]] [[138 114 90]]
]]
''' '''
23, NumPy IO操作
NumPy IO 操作是以文件的形式从磁盘中加载 ndarray 对象。
在这个过程中,NumPy 可以两种文件类型处理 ndarray 对象,一类是二进制文件(以.npy结尾),另一类是普通文本文件。 上述两种文件格式,分别对应着不同的 IO 方法,如下所示: NumPy IO操作方法
文件类型 处理方法
二进制文件 load() 和 save()
普通文本文件 loadtxt() 和 savetxt()
我们知道,文件会被保存在不同的计算机上(比如 Linux、Windows、MacOSX 等)。
为了不受的计算机架构影响,NumPy 开发团队给 ndarray 对象引入了一种.npy文件格式,
通过它来件实现对 ndarray 对象的保存。
'''
print("----23, NumPy IO操作----")
'''
(1) numpy.save()
numpy.save() 方法将输入数组存储在.npy文件中。
numpy.save(file, arr, allow_pickle=True, fix_imports=True) 参数说明:
file:保存后的文件名称,其文件类型为.npy;
arr:要保存的数组
allow_pickle:可选项,布尔值参数,允许使用 pickle 序列化保存数组对象。
fix_imports:可选项,为了便于在 Pyhton2 版本中读取 Python3 保存的数据。
'''
print("----(1) numpy.save()----")
arr7 = np.array([1, 2, 3, 4, 5])
print('arr7 : ', arr7)
# 输入数组存储在.npy文件中
np.save('outfile', arr7)
print('输入数组存储在outfile.npy文件中')
# 使用 load() 从 outfile.npy 文件中加载数据
arr8 = np.load('outfile.npy')
print('从 outfile.npy 文件中加载数据')
print('arr8 : ', arr8)
'''
arr7 : [1 2 3 4 5]
输入数组存储在outfile.npy文件中
从 outfile.npy 文件中加载数据
arr8 : [1 2 3 4 5]
''' '''
(2) savetxt()
savetxt() 和 loadtxt() 分别表示以文本格式存储数据或加载数据。其中 savetxt() 的语法格式如下:
np.savetxt('filename文件路径', self.task, fmt="%d", delimiter=" ") 参数说明:
filename:表示保存文件的路径;
self.task: 要保存数组的变量名;
fmt="%d": 指定保存文件的格式,默认是十进制;
delimiter=" "表示分隔符,默认以空格的形式隔开。
'''
print("----(2) savetxt()----")
arr9 = np.array([1,2,3,4,5])
print('arr9 : ', arr9)
np.savetxt('outfile.txt', arr9)
print('输入数组存储在outfile.txt 文本文件中')
#使用loadtxt重载数据
arr10 = np.loadtxt('outfile.txt')
print('从 outfile.txt 文本文件中加载数据')
print('arr10 : ', arr10)
'''
arr9 : [1 2 3 4 5]
输入数组存储在outfile.txt 文本文件中
从 outfile.txt 文本文件中加载数据
arr10 : [1. 2. 3. 4. 5.]
'''
NumPy学习12的更多相关文章
- 数据分析之Pandas和Numpy学习笔记(持续更新)<1>
pandas and numpy notebook 最近工作交接,整理电脑资料时看到了之前的基于Jupyter学习数据分析相关模块学习笔记.想着拿出来分享一下,可是Jupyter导出来h ...
- NumPy学习(索引和切片,合并,分割,copy与deep copy)
NumPy学习(索引和切片,合并,分割,copy与deep copy) 目录 索引和切片 合并 分割 copy与deep copy 索引和切片 通过索引和切片可以访问以及修改数组元素的值 一维数组 程 ...
- NumPy学习(让数据处理变简单)
NumPy学习(一) NumPy数组创建 NumPy数组属性 NumPy数学算术与算数运算 NumPy数组创建 NumPy 中定义的最重要的对象是称为 ndarray 的 N 维数组类型. 它描述相同 ...
- numpy 学习笔记
numpy 学习笔记 导入 numpy 包 import numpy as np 声明 ndarray 的几种方法 方法一,从list中创建 l = [[1,2,3], [4,5,6], [7,8,9 ...
- numpy 学习总结
numpy 学习总结 作者:csj更新时间:01.09 email:59888745@qq.com 说明:因内容较多,会不断更新 xxx学习总结: 回主目录:2017 年学习记录和总结 #生成数组/使 ...
- (转)Python数据分析之numpy学习
原文:https://www.cnblogs.com/nxld/p/6058572.html https://morvanzhou.github.io/tutorials/data-manipulat ...
- Numpy学习1
NumPy学习(1) 参考资料: http://www.cnblogs.com/zhanghaohong/p/4854858.html http://linusp.github.io/2016/02/ ...
- Numpy学习笔记(下篇)
目录 Numpy学习笔记(下篇) 一.Numpy数组的合并与分割操作 1.合并操作 2.分割操作 二.Numpy中的矩阵运算 1.Universal Function 2.矩阵运算 3.向量和矩阵运算 ...
- Numpy学习笔记(上篇)
目录 Numpy学习笔记(上篇) 一.Jupyter Notebook的基本使用 二.Jpuyter Notebook的魔法命令 1.%run 2.%timeit & %%timeit 3.% ...
- 【大数据技术能力提升_2】numpy学习
numpy学习 标签(空格分隔): numpy python 数据类型 5种类型:布尔值(bool),整数(int),无符号整数(uint).浮点(float).复数(complex) 支持的原始类型 ...
随机推荐
- 阿里云maven仓库地址的配置
两种配置方式: 1. maven 配置文件配置settings.xml中设置mirror节点 <mirror> <id>nexus-aliyun</id> < ...
- 大型IM稳定性监测实践:手Q客户端性能防劣化系统的建设之路
本文来自腾讯手Q基础架构团队杨萧玉.邱少雄.张自蹊.王褚重天.姚伟斌的分享,原题"QQ 客户端性能稳定性防劣化系统 Hodor 技术方案",下文进行了排版和内容优化. 1.引言 接 ...
- 回顾 2024 年 19 期C#/.NET/.NET Core技术前沿周刊
前言 转眼之间2024年就只剩最后一天了,咱们的C#/.NET/.NET Core技术前沿周刊也从8月份的第 1 期持续更新到现在已经更新到了第 19 期了,今天咱们一起来回顾一下 2024 年 19 ...
- c# Lamda表达式 简化语法例子
看到一个老代码里的方法,是判断两个string 数组是否存在相同的元素: 快一百行代码了..... public bool HasRole(string[] roleList) { bool resu ...
- Kubernetes Pod状态和生命周期管理
Pod是kubernetes中你可以创建和部署的最小也是最简的单位.Pod代表着集群中运行的进程. Pod中封装着应用的容器(有的情况下是好几个容器),存储.独立的 ...
- 单点登录-CAS原理
1.首先了解几个概念 1).TGC:Ticket-granting cookie,存放用户身份认证凭证的cookie,在浏览器和CAS Server间通讯时使用.2).TGT:ticket grant ...
- C :文件
一直没有系统学习过该章节,现参考<C语言程序设计 (第四版)谭浩强> C文件基本知识 什么是文件 文件名 文件的分类 文件缓冲区 文件类型指针 typedef struct { short ...
- ef 值转换与值比较器
前言 简单介绍一下,值转换器和值比较器. 正文 为什么有值转换器这东西呢? 那就是这个东西一直必须存在. 比如说,我们的c# enum 对应数据库的什么呢? 是int还是string呢? 一般情况下, ...
- 使用Vant做移动端对图片预览ImagePreview和List的理解
使用Vant3做移动端的感受 最近在使用Vant3做移动端. 感觉还可以,使用起来也简单,但是也遇见一些坑. 图片预览ImagePreview的使用 在使用图片预览的时候, 我们在main.js中进行 ...
- kvm实验环境的准备
在虚拟机上最小化安装centos7,看一下我的版本 [root@kvm1 yum.repos.d]# cat /etc/redhat-release CentOS Linux release 7.9. ...