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) 支持的原始类型 ...
随机推荐
- Qt编写安防视频监控系统46-视频存储
一.前言 在整个视频监控系统的开发迭代升级过程中,遇到过各种奇奇怪怪的需求,都是客户提出来的,有些需求很合理,有些就不那么的自然了,牢记这客户是上帝的原则,能满足的尽量满足.相信各位同行的研发人员都会 ...
- IM消息ID技术专题(七):网易严选分布式ID的技术选型、优化、落地实践
1.引言 在<IM消息ID技术专题>系列文章的前几篇中,我们已经深切体会到消息ID在分布式IM聊天系统中的重要性以及技术实现难度,各种消息ID生成算法及实现虽然各有优势,但受制于具体的应用 ...
- macos(m1)编译测试深度学习推理框架
mnn build tnn
- Solution Set -「NOIP Simu.」20221010
会不会组题啊? 希望 trash round 少来点. 「Unkown」构造字符串 给定 \(m\) 组形如 \((x,y,z)\), 表示 \(\operatorname{lcp}(S[x: ...
- Solution Set -「AGC 007~009」C~F
目录 「AGC 007C」Pushing Balls 「AGC 007D」Shik and Game 「AGC 007E」Shik and Travel ^ 「AGC 007F」Shik and Co ...
- net core 中的[FromBody]
一.针对.net core中post类型的api注意的地方(前提是Controller上加[ApiController]特性).默认是这个. 1.如果客户端Content-Type是applicati ...
- CPU 性能优化总结
在Linux系统中,由于成本的限制,往往会存在资源上的不足,例如 CPU.内存.网络.IO 性能.本文,就对 Linux 进程和 CPU 的原理进行分析,总结出 CPU 性能优化的方法. 1. 分析手 ...
- css漂亮的弧形
我们有时会遇到要用实现一个弧形,而这样的弧形要怎么实现呢? 用图片?好像不大现实,因为这样就要无故多加载一张图片了 ,这里我们来说说怎么用css的after伪类来实现弧形. 如果想要调整弧度的话,可以 ...
- Python 与 PostgreSQL 集成:深入 psycopg2 的应用与实践
title: Python 与 PostgreSQL 集成:深入 psycopg2 的应用与实践 date: 2025/2/4 updated: 2025/2/4 author: cmdragon e ...
- 天翼云存储资源盘活系统HBlock,全面释放企业数据价值
9月6日,天翼云与科技媒体InfoQ联合举办的以"存储难题新解法,揭秘极/致易用的HBlock"为主题的线上技术分享会圆满落幕.天翼云国际业务事业部研发专家武志民与存储产品线总监魏 ...