37python数据分析numpy基础之save以二进制保存数组数据到文件

本文主要是介绍37python数据分析numpy基础之save以二进制保存数组数据到文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 python数据分析numpy基础之save以二进制保存数组数据到文件

python的numpy库的save(file,arr)函数,将数组以二进制格式保存到一个npy后缀的文件中。

用法

numpy.save(file, arr, allow_pickle=True, fix_imports=True)

描述

numpy.save(file,arr),可以保存任意维度的numpy数组,不限于一维和二维。

保存numpy数组的结构,取出时shape和dtype与保存时的shape和dtype一致。

只能保存一个numpy数组,每次保存会覆盖之前文件中存在的内容。

入参

file:必选,文件对象或文件名,用于保存数组的文件;

arr:必选,数组、列表、元组,可以为一维或多维数组,表示要保存的数组数据;

1.1 入参file

numpy.save(file,arr)的入参file为必选入参,可以为文件对象或文件名;

文件名后缀若为.npy则不补齐后缀,文件名后缀若没有.npy则自动补齐后缀;

文件名的路径必须存在,文件名可以不存在;

如果是文件对象,则必须以二进制方式打开;

>>> import numpy as np
# save(file,arr)将数组以二进制保存到npy文件
>>> f1=r'E:\ls\save1.npy'
# file为npy文件名
>>> np.save(f1,[0,1,2,3,4,5])
# file为没有后缀npy的文件,自动补后缀npy
>>> f5=r'E:\ls\save5'
>>> np.save(f5,[11,12,13,14,15])
# load()读npy文件
>>> np.load(f1)
array([0, 1, 2, 3, 4, 5])
>>> np.load(f5+'.npy')
array([11, 12, 13, 14, 15])
# file为文件对象,需以二进制b的模式打开
>>> f6=r'E:\ls\save6'
>>> f6obj=open(f6,'wb')
>>> np.save(f6obj,[1,2])
>>> f6obj=open(f6,'rb')
>>> np.load(f6obj)
array([1, 2])

1.2 入参arr

numpy.save(file,arr)的入参arr,为必选入参,可以为数组、列表、元组。可以为一维或多维数组,每次save都会覆盖之前的内容。

>>> import numpy as np
# save(file,arr)将数组已二进制保存到npy文件
>>> f1=r'E:\ls\save1.npy'
>>> f2=r'E:\ls\save2.npy'
>>> f3=r'E:\ls\save3.npy'
# arr为列表
>>> np.save(f1,[0,1,2,3,4,5])
# arr为元组
>>> np.save(f2,(1,2,3,4,5,6))
# arr为数组
>>> np.save(f3,np.array((2,3,4,5,6,7)))
# load()读npy文件
>>> np.load(f1)
array([0, 1, 2, 3, 4, 5])
>>> np.load(f2)
array([1, 2, 3, 4, 5, 6])
>>> np.load(f3)
array([2, 3, 4, 5, 6, 7])
# 每次save,会覆盖f3之前的内容
>>> np.save(f3,[9555,186])
>>> np.load(f3)
array([9555,  186])
# arr为三维数组
>>> np.save(f3,np.arange(24).reshape(2,3,4))
>>> np.load(f3)
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]]])
>>> np.load(f3).shape
(2, 3, 4)
>>> np.load(f3).dtype
dtype('int32')

这篇关于37python数据分析numpy基础之save以二进制保存数组数据到文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1049800

相关文章

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

JavaScript对象转数组的三种方法实现

《JavaScript对象转数组的三种方法实现》本文介绍了在JavaScript中将对象转换为数组的三种实用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录方法1:使用Object.keys()和Array.map()方法2:使用Object.entr

Spring的基础事务注解@Transactional作用解读

《Spring的基础事务注解@Transactional作用解读》文章介绍了Spring框架中的事务管理,核心注解@Transactional用于声明事务,支持传播机制、隔离级别等配置,结合@Tran... 目录一、事务管理基础1.1 Spring事务的核心注解1.2 注解属性详解1.3 实现原理二、事务事

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程

Pandas处理缺失数据的方式汇总

《Pandas处理缺失数据的方式汇总》许多教程中的数据与现实世界中的数据有很大不同,现实世界中的数据很少是干净且同质的,本文我们将讨论处理缺失数据的一些常规注意事项,了解Pandas如何表示缺失数据,... 目录缺失数据约定的权衡Pandas 中的缺失数据None 作为哨兵值NaN:缺失的数值数据Panda

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

python库pydantic数据验证和设置管理库的用途

《python库pydantic数据验证和设置管理库的用途》pydantic是一个用于数据验证和设置管理的Python库,它主要利用Python类型注解来定义数据模型的结构和验证规则,本文给大家介绍p... 目录主要特点和用途:Field数值验证参数总结pydantic 是一个让你能够 confidentl

Java中最全最基础的IO流概述和简介案例分析

《Java中最全最基础的IO流概述和简介案例分析》JavaIO流用于程序与外部设备的数据交互,分为字节流(InputStream/OutputStream)和字符流(Reader/Writer),处理... 目录IO流简介IO是什么应用场景IO流的分类流的超类类型字节文件流应用简介核心API文件输出流应用文

JAVA实现亿级千万级数据顺序导出的示例代码

《JAVA实现亿级千万级数据顺序导出的示例代码》本文主要介绍了JAVA实现亿级千万级数据顺序导出的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 前提:主要考虑控制内存占用空间,避免出现同时导出,导致主程序OOM问题。实现思路:A.启用线程池