NumPy-读写文件「建议收藏」

NumPy-读写文件「建议收藏」读写文件NumPy文件读写主要有二进制的文件读写和文件列表形式的数据读写两种形式(1)save函数是以二进制的格式保存数据。  格式:  np.save("./save_arr",arr1)(2)load函数是从二进制的文件中读取数据。  格式:  np.load("./save_arr.npy")(3)savez函数可以将多个数组保存到一个文件中。  …

大家好,又见面了,我是你们的朋友全栈君。

读写文件

NumPy 文件读写主要有二进制的文件读写和文件列表形式的数据读写两种形式

(1) save 函数是以二进制的格式保存数据。   格式:   np.save (“./save_arr “, arr1)
(2) load 函数是从二进制的文件中读取数据。   格式:   np.load(“./ save_arr.npy”)
(3) savez 函数可以将多个数组保存到一个文件中。   格式:   np.savez(‘./savez_arr’,arr1,arr2)
(4) 存储时可以省略扩展名,但读取时不能省略扩展名

读取文本格式的数据(TXT CSV 格式)

(1) savetxt 函数是将数组写到某种分隔符隔开的文本文件中。   格式:   np.savetxt(“./arr.txt”, arr, fmt=”%d”, delimiter=”,”)
## fmt=”%d”表示保存为整数,delimiter=”,”表示用’,’隔开。
(2) loadtxt 函数执行的是把文件加载到一个二维数组中。   格式:   np.loadtxt(“./arr.txt”,delimiter=”,”)
(3) genfromtxt 函数面向的是结构化数组和缺失数据。   格式:   np.genfromtxt(“./arr2.txt”, delimiter = “,”)

 

二进制文件读写

(1)  save() 函数是以二进制的格式保存数据;   load() 函数是从二进制的文件中读取数据

import numpy as np

arr1 = np.arange(40).reshape((5,8))
print(arr1)

# 保存二进制文件,npy格式是一个数组的文件保存
np.save('./save_arr',arr1)  

arr3 = np.load('./save_arr.npy')  # 读取二进制文件
print(arr3)

 

(2)  savez() 函数可以将多个数组保存到一个文件中

import numpy as np

arr1 = np.arange(40).reshape((5,8))
arr2 = np.arange(1,10,1)
# print(arr1)
# print(arr2)

np.savez('./savez_arr',arr1,arr2)    # 保存二进制文件,npz多个数组的文件保存
load_data = np.load('./savez_arr.npz')  # 读取二进制文件
print(load_data)
print(type(load_data))

# 可遍历文件中的键值(也可以通过开启断点来获取)
# for i,k in load_data.items():
#     print(i,k)
# 结果: 
# arr_0 [[ 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]]
# arr_1 [1 2 3 4 5 6 7 8 9]

print(load_data['arr_0'])
print(load_data['arr_1'])

 

文本文件读写

(1)  savetxt() 函数是将数组写到某种分隔符隔开的文本文件中;   loadtxt() 函数执行的是把文件加载到一个二维数组中

import numpy as np

arr = np.arange(0,9,1).reshape(3,-1) # -1的意思是根据行数自动匹配列数
print(arr)
# 结果:
# [[0 1 2]
#  [3 4 5]
#  [6 7 8]]

# fmt='%d'表示保存为整数,delimiter=","表示用','隔开
np.savetxt('arr.txt',arr,fmt='%d',delimiter=',')    # 保存
load_txt = np.loadtxt('arr.txt',delimiter=',')  # 读取
print(load_txt)
# 结果:
# [[ 0.  1.  2.]
#  [ 3.  4.  5.]
#  [ 6.  7.  8.]]

 

(2)  genfromtxt 函数面向的是结构化数组和缺失数据(基本操作)

import numpy as np

arr = np.arange(0,9,1).reshape(3,-1) # -1的意思是根据行数自动匹配列数
# print(arr)
# 结果:
# [[0 1 2]
#  [3 4 5]
#  [6 7 8]]

# fmt='%d'表示保存为整数,delimiter=","表示用','隔开
np.savetxt('./arr2.txt',arr,fmt='%d',delimiter=',')    # 保存
# skip_header从哪行开启读取
load_txt = np.genfromtxt('./arr2.txt',delimiter=',',skip_header=1)  # 读取
print(load_txt)
# 结果:
# [[ 3.  4.  5.]
#  [ 6.  7.  8.]]

# 二维数组切片方式
print(load_txt[1:2,0:3])
# 结果:
# [[ 6.  7.  8.]]

print(load_txt[0:3,0])
# 结果: [ 3.  6.]

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/140580.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • C语言优先级表格(超全)[通俗易懂]

    C语言优先级表格(超全)[通俗易懂]C语言优先级表格(超全)

  • python服务器运维步骤_python运维服务器

    python服务器运维步骤_python运维服务器好久没有写东西了.一直做服务器开发需要写一些脚本来控制服务器的启动.本来Windows自带了任务计划,但不是特别方便,还是用python写了一下.需求:在固定的时间启动服务器先看源代码:defstart_process(date):cwd=os.getcwd();globallist_threads;globaliskill;iskill=False;foriinrange(n…

  • c++ strstr函数_简述酒精灯的正确使用方法

    c++ strstr函数_简述酒精灯的正确使用方法strstr方法是比较常用的,我在使用的过程中经常会忘掉入参中的两个字符串到底谁是谁的子串,今天记录一下,加深一下印象。注意:strstr(str1,str2)  此时千万要记住,这是在判断str2是否是str1的子串!!重要的事情:这是在判断str2是否是str1的子串!!这是在判断str2是否是str1的子串!!这是在判断str2是否是str1的子串!!好了,也就是在…

    2022年10月15日
  • Idea设置快捷键_打开快捷键设置

    Idea设置快捷键_打开快捷键设置六、设置快捷键(Keymap)设置快捷为Eclipse的快捷键2.通过快捷键功能修改快捷键设置3.通过指定快捷键,查看或修改其功能4.导入已有的设置点击0K之后,重启IDEA即可。5.常用快捷键七、关于模板(Templates)(Editor–LiveTemplates和Editor–General–PostfixCompl…

  • java冒泡排序经典代码_Java 8大经典排序算法(含源代码),必须收藏!

    java冒泡排序经典代码_Java 8大经典排序算法(含源代码),必须收藏!原标题:Java8大经典排序算法(含源代码),必须收藏!今天小编帮大家整理了Java的8种经典算法。不论是笔试还是面试,都是非常实用的干货。不论你是菜鸟还是高手,非常值得一看!不转发也是挺可惜的~8种排序之间的关系:1,直接插入排序(1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2]个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此…

  • oracle未明确定义列[通俗易懂]

    oracle未明确定义列[通俗易懂]分类:SQL使用技巧2012-04-0616:121332人阅读评论(0)收藏举报运行环境:Oracle10gsqlplus环境下。 在查询语句中,经常会出现一个错误: SQL基础:ORA-00918:未明确定义列的错误。 当前遇到有两种情况。原因为:当查询语句中,查询的表(数据集)中有相同的字

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号