1. Numpy 二进制文件

save()、savez() 和 load() 函数以 numpy 专用的二进制类型(npy、npz)保存和读取数据,这三个函数会自动处理 ndim、dtype、shape 等信息,使用它们读写数组非常方便,但是save()输出的文件很难与其它语言编写的程序兼容。

  1. npy格式:以二进制的方式存储文件,在二进制文件第一行以文本形式保存了数据的元信息(ndim,dtype,shape等),可以用二进制工具查看内容。
  2. npz格式:以压缩打包的方式存储文件,可以用压缩软件解压。

Numpy入门(下)Datawhale学习笔记—— 输入和输出

用解压软件打开 test.npz 文件,会发现其中有三个文件:arr_0.npy,arr_1.npy,z_d.npy,其中分别保存着数组x,y,z的内容。

  1. savez()第一个参数是文件名,其后的参数都是需要保存的数组,也可以使用关键字参数为数组起一个名字,非关键字参数传递的数组会自动起名为 arr_0, arr_1, …。

  2. savez()输出的是一个压缩文件(扩展名为npz),其中每个文件都是一个save()保存的npy文件,文件名对应于数组名。 load()自动识别npz文件,并且返回一个类似于字典的对象,可以通过数组名作为关键字获取数组的内容。

2. 文本文件

savetxt(),loadtxt() 和 genfromtxt() 函数用来存储和读取文本文件(如TXT,CSV等)。genfromtxt() 比 loadtxt() 更加强大,可对缺失数据进行处理。

  1. n u m p y . s a v e t x t ( f n a m e , X , f m t = ′ f o o t e r = ′ ′ , c o m m e n t s = ′ # ′ , e n c o d i n g = N o n e ) \color{blue}numpy.savetxt(fname, X, fmt='%.18e', delimiter=' ', newline='n', header='', footer='', comments='\# ', encoding=None) numpy.savetxt(fname,X,fmt=footer=,comments=#,encoding=None)
    ① f n a m e : 文 件 路 径 \color{red}① fname:文件路径 fname
    ② X : 存 入 文 件 的 数 组 。 \color{red}② X:存入文件的数组。 X
    ③ f m t : 写 入 文 件 中 每 个 元 素 的 字 符 串 格 式 \color{red}③ fmt:写入文件中每个元素的字符串格式 fmt
    ④ d e l i m i t e r : 分 割 字 符 串 , 默 认 以 空 格 分 隔 。 \color{red}④ delimiter:分割字符串,默认以空格分隔。 delimiter
  2. n u m p y . l o a d t x t ( f n a m e , d t y p e = f l o a t , c o m m e n t s = ′ # ′ , d e l i m i t e r = N o n e , c o n v e r t e r s = N o n e , s k i p r o w s = 0 , u s e c o l s = N o n e , u n p a c k = F a l s e , n d m i n = 0 , e n c o d i n g = ′ b y t e s ′ , m a x r o w s = N o n e ) \color{blue} numpy.loadtxt(fname, dtype=float, comments='\#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0, encoding='bytes', max_rows=None) numpy.loadtxt(fname,dtype=float,comments=#,delimiter=None,converters=None,skiprows=0,usecols=None,unpack=False,ndmin=0,encoding=bytes,maxrows=None)
    ① f n a m e : 文 件 路 径 。 \color{red}① fname:文件路径。 fname
    ② d t y p e : 数 据 类 型 , 默 认 为 f l o a t 。 \color{red}② dtype:数据类型,默认为float。 dtypefloat
    ③ c o m m e n t s : 字 符 串 或 字 符 串 组 成 的 列 表 , 默 认 为 # , 表 示 注 释 字 符 集 开 始 的 标 \color{red}③ comments: 字符串或字符串组成的列表,默认为\# ,表示注释字符集开始的标 comments:#, 志 。 \color{red}志。
    ④ s k i p r o w s : 跳 过 多 少 行 , 一 般 跳 过 第 一 行 表 头 。 \color{red}④ skiprows:跳过多少行,一般跳过第一行表头。 skiprows
    ⑤ u s e c o l s : 元 组 ( 元 组 内 数 据 为 列 的 数 值 索 引 ) , 用 来 指 定 要 读 取 数 据 的 列 ( 第 \color{red}⑤ usecols:元组(元组内数据为列的数值索引), 用来指定要读取数据的列(第 usecols, 一 列 为 0 ) 。 \color{red}一列为0)。 0
    ⑥ u n p a c k : 当 加 载 多 列 数 据 时 是 否 需 要 将 数 据 列 进 行 解 耦 赋 值 给 不 同 的 变 量 。 \color{red}⑥ unpack:当加载多列数据时是否需要将数据列进行解耦赋值给不同的变量。 unpack

Numpy入门(下)Datawhale学习笔记—— 输入和输出

Numpy入门(下)Datawhale学习笔记—— 输入和输出

3. 文本格式选项

1. n u m p y . s e t _ p r i n t o p t i o n s ( p r e c i s i o n = N o n e , t h r e s h o l d = N o n e , e d g e i t e m s = N o n e , l i n e w i d t h = N o n e , s u p p r e s s = N o n e , n a n s t r = N o n e , i n f s t r = N o n e , f o r m a t t e r = N o n e , s i g n = N o n e , f l o a t m o d e = N o n e , ∗ ∗ k w a r g ) \color{blue} numpy.set\_printoptions(precision=None,threshold=None, edgeitems=None,linewidth=None, suppress=None, nanstr=None, infstr=None,formatter=None, sign=None, floatmode=None, **kwarg) numpy.set_printoptions(precision=None,threshold=None,edgeitems=None,linewidth=None,suppress=None,nanstr=None,infstr=None,formatter=None,sign=None,floatmode=None,kwarg)
p r e c i s i o n : 设 置 浮 点 精 度 , 控 制 输 出 的 小 数 点 个 数 , 默 认 是 8 。 \color{red}precision:设置浮点精度,控制输出的小数点个数,默认是8。 precision8
t h r e s h o l d : 概 略 显 示 , 超 过 该 值 则 以 “ … ” 的 形 式 来 表 示 , 默 认 是 1000 。 \color{red}threshold:概略显示,超过该值则以“…”的形式来表示,默认是1000。 threshold1000
l i n e w i d t h : 用 于 确 定 每 行 多 少 字 符 数 后 插 入 换 行 符 , 默 认 为 75 。 \color{red}linewidth:用于确定每行多少字符数后插入换行符,默认为75。 linewidth75
s u p p r e s s : 当 s u p p r e s s = T r u e , 表 示 小 数 不 需 要 以 科 学 计 数 法 的 形 式 输 出 , 默 认 是 \color{red}suppress:当suppress=True,表示小数不需要以科学计数法的形式输出,默认是 suppresssuppress=True F a l s e 。 \color{red}False。 False
n a n s t r : 浮 点 非 数 字 的 字 符 串 表 示 形 式 , 默 认 n a n 。 \color{red}nanstr:浮点非数字的字符串表示形式,默认nan。 nanstrnan
i n f s t r : 浮 点 无 穷 大 的 字 符 串 表 示 形 式 , 默 认 i n f 。 \color{red}infstr:浮点无穷大的字符串表示形式,默认inf。 infstrinf
Numpy入门(下)Datawhale学习笔记—— 输入和输出

相关文章:

  • 2021-08-26
  • 2021-08-01
  • 2022-12-23
  • 2022-12-23
  • 2021-12-16
  • 2022-03-04
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-08-20
  • 2021-12-18
  • 2021-07-12
  • 2021-08-24
  • 2021-04-12
  • 2022-12-23
  • 2021-05-26
相关资源
相似解决方案