python机器学习之十三 numpy库下的文件读写

Python数据分析 - numpy 前言 NUMPY(以下简称NP)是Python数据分析必不可少的第三方库,np的出现一定程度上解决了Python运算性能不佳的问题,同时提供了更加精确的数据类型。如今,np被Python其它科学计算包作为基础包,已成为Python 数据分析的基础,可以说,NP是SciPy、Pandas等数据处理或科学计算库最基本的函数功能库。因此,理解n... 阅读详情

 本文将介绍python numpy库下文件读写的三种方式,分别是:  

  1. tofile()和fromfile()  
  2. save()和load()  
  3. savetxt()和loadtxt()

1.tofile()和fromfile()  

tofile()

将数组中的数据以二进制格式写进文件

语法格式:a.tofile(frame, sep='', format='%s')

  frame : 文件、字符串

  sep : 数据分割字符串,如果是空串,写入文件为二进制

  format : 写入数据的格式

输出的数据不保存数组形状和元素类型等信息

 

fromfile()

读回数据函数    

语法格式:np.fromfile(frame, dtype=np.float, count=‐1, sep='')

  frame : 文件、字符串

  dtype : 读取的数据类型

  count : 读入元素个数,‐1表示读入整个文件

  sep : 数据分割字符串,如果是空串,写入文件为二进制

函数读回数据时需要用户指定元素类型,并对数组的形状进行适当的修改

例子:

import numpy as np
a = np.arange(12).reshape(3,4)
a
'''
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
'''
a.tofile("a.txt")
b = np.fromfile("a.txt",dtype=np.int32)
b.reshape(3,4)
'''
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
'''
b
'''
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11])
'''

a.txt存入二进制内容

#注意:该方法需要读取时知道存入文件时数组的维度和元素类型,
#a.tofile()和np.fromfile()需要配合使用 可以通过元数据文件来存储额外信息

 

2.save()和load()  

save()

numpy专用的二进制格式保存数据,它们会自动处理元素类型和形状等信息

语法格式:np.save(fname, array)

fname : 文件名,以.npy为扩展名

array : 数组变量

如果想将多个数组保存到一个文件中,可以使用savez()

语法格式:np.savez(fname, array1,array2...)

fname : 文件名,以.npz为扩展名

非关键字参数传递的数组会自动起名为arr_0、arr_1、...

load()

自动识别npz文件,并且返回一个类似于字典的对象,可以通过数组名作为键获取数组的内容

语法格式:np.load(fname)

fname : 文件名,以.npy为扩展名,压缩扩展名为.npz

例:

a = np.arange(50).reshape(5,5,2)
np.save("a.npy", a)
b = np.load('a.npy')
b
'''
array([[[ 0,  1],
        [ 2,  3],
        [ 4,  5],
        [ 6,  7],
        [ 8,  9]],

       [[10, 11],
        [12, 13],
        [14, 15],
        [16, 17],
        [18, 19]],

       [[20, 21],
        [22, 23],
        [24, 25],
        [26, 27],
        [28, 29]],

       [[30, 31],
        [32, 33],
        [34, 35],
        [36, 37],
        [38, 39]],

       [[40, 41],
        [42, 43],
        [44, 45],
        [46, 47],
        [48, 49]]])
'''
c = np.arange(0,1.0,0.1)
np.savez("c.npz",a,sin_array=c)
b = np.load('c.npz')
b["arr_0"]
'''
array([[[ 0,  1],
        [ 2,  3],
        [ 4,  5],
        [ 6,  7],
        [ 8,  9]],

       [[10, 11],
        [12, 13],
        [14, 15],
        [16, 17],
        [18, 19]],

       [[20, 21],
        [22, 23],
        [24, 25],
        [26, 27],
        [28, 29]],

       [[30, 31],
        [32, 33],
        [34, 35],
        [36, 37],
        [38, 39]],

       [[40, 41],
        [42, 43],
        [44, 45],
        [46, 47],
        [48, 49]]])
'''
b["sin_array"]
'''
array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])
'''

3.savetxt()和loadtxt()

读写1维和2维数组的文本文件

可以用于读写CSV格式的文本文件

savetxt()

语法格式:np.savetxt(frame, array, fmt='%.18e', delimiter=None)

frame : 文件、字符串或产生器,可以是.gz或.bz2的压缩文件

array : 存入文件的数组

fmt : 写入文件的格式,例如:%d %.2f,缺省默认“%.18e”

delimiter : 分割字符串,默认是空格

loadtxt()

语法格式:np.loadtxt(frame, dtype=np.float, delimiter=None,unpack=False)

frame : 文件、字符串或产生器,可以是.gz或.bz2的压缩文件

dtype : 数据类型,可选

delimiter : 分割字符串,默认是任何空格

unpack : 如果True,读入属性将分别写入不同变量

例子:

a = np.arange(50).reshape(5,10)
np.savetxt("a.cvs", a, fmt = "%d", delimiter=",")

a.cvs

b = np.loadtxt("a.cvs",delimiter=",")
b
'''
array([[ 0.,  1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9.],
       [10., 11., 12., 13., 14., 15., 16., 17., 18., 19.],
       [20., 21., 22., 23., 24., 25., 26., 27., 28., 29.],
       [30., 31., 32., 33., 34., 35., 36., 37., 38., 39.],
       [40., 41., 42., 43., 44., 45., 46., 47., 48., 49.]])
'''

 

Numpy库的安装 Numpy库的安装 一、numpy简介 NumPy是一个功能强大的Python库,主要用于对多维数组执行计算。NumPy提供了大量的库函数和操作,可以帮助程序员轻松地进行数值计算。这类数值计算广泛用于以下任务: **机器学习模型:**在编写机器学习算法时,需要对矩阵进行各种数值计算。例如矩阵乘法、换位、加法等。NumPy提供了一个非常好的库,用于简单(在编写代码方面)和快速(在速度方面)计算。NumPy数组用于存储训练数据和机器学习模型的参数。 **图像处理和计算机图形学:**计算机中的图像表示为多维数字数 阅读详情

相关推荐

【Python】NumPy库

第一章:NumPy 概览 —— 科学计算的基石1.1 什么是 NumPy?NumPy(Numerical Python 的缩写)是 Python 语言的一个开源扩展程序库,它为 Python 提供了强大的 N 维数组对象()、成熟的函数库,以及用于处理这些数组的工具。NumPy 是 Python 生态系统中科学计算、数据分析和机器学习领域几乎所有高级库(如 Pandas, SciPy, Matplotlib, Scikit-learn, TensorFlow, PyTorch 等)的 foundationa

宅男很神经 1182

.npy文件_python如何利用numpy存取文件

NumPy提供了多种存取数组内容的文件操作函数。保存数组数据的文件可以是二进制格式或者文本格式。二进制格式的文件又分为NumPy专用的格式化二进制类型和无格式类型。numpy格式的文件可以保存为后缀为(.npy/.npz)格式的文件1. tofile()和fromfile()tofile()将数组中的数据以二进制格式写进文件tofile()输出的数据不保存数组形状和元素类型等信息fromfile...

weixin_39925350的博客 666

Python 机器学习 基础 之 【常用机器学习库】 NumPy 数值计算库

Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。Python是一种解释型脚本语言,可以应用于以下领域: Web 和 Internet开发、科学计算和统计、人工智能、教育、桌面界面开发、软件开发、后端开发、网络爬虫。Python 机器学习是利用 Python 编程语言中的各种工具和库来实现机器学习算法和技术的过程。

仙魁XAN 1340

python数据分析与展示--数据存取与函数

数据分析

小马哥的博客 3530

DMA 定制固件教程:小白跟做即得单人固件,超详细纯喂饭教程,100% 成功秘籍!FPGA仿真1:1、中断逻辑和TLP核心都在。

DMA 定制固件教程 小白跟着操作做可以做出的单人固件。DMA仿真技术io、中断逻辑,从零仿真。图文链接教程:https://docs.qq.com/doc/DQ01lVGtHelROVHNv

qq_15741349的博客 3万+

衡山派Luban-Lite系统SDIO无线网络配置实战:以D133CBV-QFN88开发板与RTL8189模组为例

本文详细介绍了在衡山派D133CBV-QFN88开发板上,为Luban-Lite系统配置SDIO无线网络的完整实战流程。通过配置SDMC接口、RTL8189 Wi-Fi驱动、lwIP协议栈及内核参数,并解决编译分区问题,最终实现Wi-Fi网络连接与测试,为嵌入式设备联网提供清晰指导。

weixin_35677363的博客 267

numpy常用方法讲解

numpy常用方法讲解 Numpy.linspace() 方法 Numpy.linspace(start,stop,num=50,endpoint=True,restep=False,dtype=None) 功能:返回在规定范域内的数值列表 参数: start:规定区域的开始值 stop:规定区域的结束值 num:产生样本点的的数目 endpoint:如果设置为True,那么stop参数将产生影响...

weixin_38091830的博客 827

麦克风声源定位原理_声源定位—如何定位到噪声根源?

前言TPA(传递路径分析)专题系列已经开篇。其遵循方法论:源(Source)——路径(Path)——响应(Receiver)有人说TPA好,它可以识别出路径处甚至源的载荷特征,可以量化各个路径的贡献量。有人说声源定位好,不管东西南北中,“源”自其中。但是,声源定位识别出来色彩丰富的一个结果,这结果被您拿来应付工作了,还是真正帮您解决了问题?声源定位定位到了噪声的根源了么?对于一些声源现,...

weixin_39943678的博客 3973

python fromfile 读取多个文件_python – 如何使用`np.fromfile`从二进制文件中读取连续数组?...

您可以将打开的文件对象传递给np.fromfile,读取第一个数组的维度,然后读取数组内容(再次使用np.fromfile),并在同一文件中重复该过程以获取其他数组.例如:import numpy as npimport osdef iter_arrays(fname, array_ndim=2, dim_dtype=np.int, array_dtype=np.double):with open...

weixin_39797912的博客 2239

智慧加油站小程序数据库设计文档

【代码】智慧加油站小程序数据库设计文档。

低代码布道师的博客 1402

【AI 编程工具】Codex配置部署指南

目录一、环境准备与基础安装1. 系统兼容性检查2. 前置依赖安装3. 安装方式选择二、API密钥配置与认证1. 获取API密钥2. 配置文件设置3. 临时配置方式三、沙盒环境配置与安全策略1. 沙盒模式选择2. 安全最佳实践四、高级功能配置1. 模型上下文协议(MCP)配置2. 模型版本切换3. 自定义网关配置五、常见问题排查1. 安装失败2. API调用失败3. 处理速度慢4. 配置文件不生效六、生产环境部署建议macOS/Linux:官方提供稳定支持,推荐使用原生环境Windows:官方标注为实验性支持

以实战经验介绍行业知识 2890

Python库之numpy库的安装教程

一、numpy简介 NumPy是一个功能强大的Python学习库,主要用于对多维数组执行计算。NumPy这个词来源于两个单词-- Numerical和Python。NumPy提供了大量的库函数和操作,可以帮助程序员轻松地进行数值计算。这类数值计算广泛用于以下任务: 1.机器学习模型:在编写机器学习算法时,需要对矩阵进行各种数值计算。例如矩阵乘法、换位、加法等。NumPy提供了一个非常好的库,用于简单(在编写代码方面)和快速(在速度方面)计算。NumPy数组用于存储训练数据和机器学习模型的参数。 2.图

7306

Claude Code 100个真实案例 - 用AI搭建GIS地理信息系统(地图标注+热力图)

本案例展示如何使用 Claude Code 从零搭建一个完整的 GIS 地理信息系统。我们将使用 Python + Flask 作为后端,Leaflet.js 作为前端地图引擎,实现地图标注、热力图展示、区域绘制、坐标搜索等功能。全程通过与 Claude Code 对话完成,让你感受 AI 在地理信息领域的强大开发能力。

yueyeguzhuo的专栏 113

【亲测免费】 Uproot:纯Python和Numpy实现的ROOT文件读写工具

Uproot:纯Python和Numpy实现的ROOT文件读写工具 项目介绍 Uproot(原名μproot,意为“微型Python ROOT”)是一个纯Python和Numpy实现的ROOT文件格式读写工具。与标准的C++ ROOT实现不同,Uproot仅作为一个I/O库,主要用于将数据流式传输到Python中的机器学习库。与PyROOT和root_numpy不同,Uproot不依赖于C++ R...

gitblog_00356的博客 1090

YOLOv11改进策略【Head/分割头】| 结合CVPR-2024 中的DynamicConv 动态卷积 改进分割头, 优化模型(独家改进)

在大规模视觉预训练中,通常模型的性能受到数据、参数和FLOP三个关键因素的影响。一般来说,模型的参数数量越多,FLOP也越高,但在移动设备等对计算资源有限制的场景下,需要低FLOP的模型同时又希望模型能从大规模预训练中受益。传统的方法很难在增加参数的同时保持低FLOP,因此需要一种新的设计来解决这个问题,模块应运而生。

Limiiiing的博客 2310

手把手教你学Simulink--基于新型通信技术集成的场景实例:无人机利用激光通信实现高速率数据传输

摘要: 本文基于Simulink搭建无人机激光通信仿真系统,解决传统射频通信带宽不足问题。系统通过五层架构(发射机、信道、PAT系统、接收机、性能分析)实现Gbps级高速传输,重点建模大气衰减(雾/雨)、光束发散、PAT精跟踪(Stateflow+PID控制)等核心模块。仿真结果显示:晴天链路可达2.5Gbps(BER 1e-8),浓雾下链路中断,验证了雾是主要性能限制因素。案例涵盖调制方式选择、动态环境仿真及3D可视化,为无人机高速数据传输提供可扩展的仿真框架,并指出混合FSO/RF、AI-PAT等优化方

MHD0815的博客 180

【Python】NumPy库的介绍及用法

尽管NumPy不是Python的标准库,但它由于其在数值计算等方面的强大功能,以及被众多其他第三方库所依赖,已经成为Python数据科学领域的事实标准库之一。NumPy并不是Python的标准库。但它是一个第三方库,是Python进行科学计算的基础包,也是许多Python数据处理和机器学习库的依赖库。Python的标准库是随着Python安装包直接提供的库,如math(数学函数库),datetime(日期时间库),os(操作系统功能库)等。此外,NumPy还提供了许多其他功能,如切片,索引,广播等等。

qq_53871375的博客 3309

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Python机器学习库(numpy库)

强大的N维数组对象ndarray(Array;Matrix)成熟的(广播)函数库整合了C/C++/Fortran代码的工具实用的线性代数、傅里叶变换和随机数生成函数与稀疏矩阵运算包scipy配合使用更加方便强大的N维数组对象ndarray(Array;Matrix)成熟的(广播)函数库整合了C/C++/Fortran代码的工具实用的线性代数、傅里叶变换和随机数生成函数与稀疏矩阵运算包scipy配合使用更加方便强大的N维数组对象ndarray(Array;Matrix)

m0_73841621的博客 1096

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Best-of-ML-Python: 精选机器学习Python库排行榜

Best-of-ML-Python项目为Python机器学习开发者提供了一个宝贵的资源。通过这个精心策划的列表,开发者可以更轻松地找到适合自己项目的工具,提高开发效率。无论您是机器学习领域的新手还是经验丰富的专家,这个项目都值得您花时间深入探索。

2401_87458778的博客 759

Python库安装教程之Numpy

Python提供给同学们很多常用的库,安装之后直接调用就可以非常方便,今天小千就来给大家介绍一下Numpy这个库,和它的安装方法,接着往下看。 一、numpy简介 NumPy是一个功能强大的Python库,主要用于对多维数组执行计算。NumPy这个词来源于两个单词-- Numerical和Python。NumPy提供了大量的库函数和操作,可以帮助程序员轻松地进行数值计算。这类数值计算广泛用于以下任务: 1.机器学习模型:在编写机器学习算法时,需要对矩阵进行各种数值计算。例如矩阵乘法、换位、加法等。NumP

xiaoxijinger的博客 3506

python下载numpy库教程_Python库之numpy库的安装教程

一、numpy简介NumPy是一个功能强大的Python库,主要用于对多维数组执行计算。NumPy这个词来源于两个单词-- Numerical和Python。NumPy提供了大量的库函数和操作,可以帮助程序员轻松地进行数值计算。这类数值计算广泛用于以下任务:1.机器学习模型:在编写机器学习算法时,需要对矩阵进行各种数值计算。例如矩阵乘法、换位、加法等。NumPy提供了一个非常好的库,用于简单(在编...

weixin_42499882的博客 3473

python的numpy库安装_Python库之numpy库的安装教程

一、numpy简介NumPy是一个功能强大的Python库,主要用于对多维数组执行计算。NumPy这个词来源于两个单词-- Numerical和Python。NumPy提供了大量的库函数和操作,可以帮助程序员轻松地进行数值计算。这类数值计算广泛用于以下任务:1.机器学习模型:在编写机器学习算法时,需要对矩阵进行各种数值计算。例如矩阵乘法、换位、加法等。NumPy提供了一个非常好的库,用于简单(在编...

weixin_36256447的博客 2275

python-PyCharm导入NumPy库

今晚看机器学习实战那本书,看到NumPy那里有点懵,这是啥,什么是NumPy,什么是Python shell开发环境,黑人问号脸。 倒腾了一晚上才明白,我是要导入一个库!通俗的理解就是,这个库有着丰富的数组矩阵运算方法,底层由c编写,python作为编程语言有着代码简单易懂等优点,但是有一个缺点就是运行速度慢,所以有时候需要调用c语言,这样就能拥有python和c的双重有点。所以在大型的矩阵操作...

Vivinia的博客 3万+

python中numpy库怎么装_Python库之numpy库的安装教程

一、numpy简介NumPy是一个功能强大的Python库,主要用于对多维数组执行计算。NumPy这个词来源于两个单词-- Numerical和Python。NumPy提供了大量的库函数和操作,可以帮助程序员轻松地进行数值计算。这类数值计算广泛用于以下任务:1.机器学习模型:在编写机器学习算法时,需要对矩阵进行各种数值计算。例如矩阵乘法、换位、加法等。NumPy提供了一个非常好的库,用于简单(在编...

weixin_34951416的博客 5230

chatgpt赋能python:Python入门:如何下载NumPy库

本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。🧡AI职场汇报智能办公文案写作效率提升教程 🧡专注于AI+职场+办公方向。下图是课程的整体大纲下图是AI职场汇报智能办公文案写作效率提升教程中用到的ai工具。

xuhss_com的博客 1万+

python中数据处理库,机器学习库以及自动化与爬虫

你可以通过 Pandas 和 NumPy 高效处理数据,用 Scikit-learn 和 TensorFlow 构建机器学习模型,并通过 Selenium 和 Requests 等库实现 Web 自动化和爬虫任务。是一个功能强大的机器学习库,包含了经典的机器学习算法、数据预处理工具和模型评估功能。Soup** 是一个用于解析 HTML 和 XML 的库,通常与 Requests 搭配使用,适合抓取网页数据。是一个简单且功能强大的 HTTP 请求库,适合进行 API 请求和基本的 Web 爬取任务。

weixin_47260194的博客 2545
上一篇: python机器学习之十二 文件读写
下一篇: python机器学习之十四 python数据可视化 matplotlib
蜗牛专注学习
博客等级 码龄15年 127粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值