npz、npy文件生成与读取

这篇博客介绍了如何使用Numpy的`np.save()`和`np.savez()`函数生成及读取npz、npy文件。通过示例展示了如何存储和加载单个或多个数组,以及加载时如何访问保存的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        在Numpy中提供了多种文件操作函数,我们可以通过这些文件操作函数,快速地对numpy数组进行存取,十分方便。下面介绍如何生成和读取npz、npy文件

1、np.save()函数可以存储一个np.array()数组,并生成npy文件

(1)生成一个数组
import numpy as np

a = np.random.rand(3, 3)
print(a)
# 输出:
[[0.25568869 0.42624972 0.81883597]
 [0.3861741  0.26099634 0.31616023]
 [0.04963831 0.82765992 0.37743105]]

(2)储存数组
import numpy as np

a = np.random.rand(3, 3)
np.save('C:/Users/12394/PycharmProjects/Spyder/data.npy',a)
print(a)

 

2、np.savez()函数
如果需要存储多个数组,我们需要用到np.savez()函数。savez函数的第一个参数是文件名,其后的参数都是需要保存的数组,也可以使用关键字参数为数组起一个名字,非关键字参数传递的数组会自动起名为arr_0, arr_1, …。

(1)生成两个数组
import numpy as np

a = np.random.rand(3, 3)
b = np.random.rand(4, 4)
print(a)
print(b)
# 输出:
[[0.96561869 0.5848276  0.6414235 ]
 [0.31046976 0.97631399 0.80212886]
 [0.91818152 0.78629378 0.10269251]]
[[0.65399762 0.28218516 0.59400843 0.42064957]
 [0.73701684 0.25155745 0.42724075 0.88264513]
 [0.12611749 0.4234549  0.46101855 0.36100795]
 [0.65360189 0.06575713 0.74862029 0.37301968]]


(2)储存数组
import numpy as np

a = np.random.rand(3, 3)
np.savez('C:/Users/12394/PycharmProjects/Spyder/data.npz',a = a, b = b)
print(a)
 

3、

读取npz、npy文件
我们使用np.load()函数来读取npz、npy文件:

import numpy as np

data = np.load('C:/Users/12394/PycharmProjects/Spyder/data.npz')

print(data['a'])
print(data['b'])
# 输出:
[[0.96561869 0.5848276  0.6414235 ]
 [0.31046976 0.97631399 0.80212886]
 [0.91818152 0.78629378 0.10269251]]
[[0.65399762 0.28218516 0.59400843 0.42064957]
 [0.73701684 0.25155745 0.42724075 0.88264513]
 [0.12611749 0.4234549  0.46101855 0.36100795]
 [0.65360189 0.06575713 0.74862029 0.37301968]]
 

### 如何在Python中创建CSV文件和NumPy NPY文件 #### 创建CSV文件 为了创建CSV文件,可以使用`numpy.savetxt()`函数来直接保存NumPy数组至CSV文件,或者通过Pandas库中的DataFrame对象更灵活地操作并保存数据。 当采用`numpy.savetxt()`方式时,可以通过指定分隔符以及可选的头部信息来进行基本配置: ```python import numpy as np # 创建一个 NumPy 数组 data = np.array([[1, 2, 3], [4, 5, 6]]) # 将 NumPy 数组导出到 CSV 文件,并添加标题行 np.savetxt('data_with_header.csv', data, delimiter=',', header="Col1,Col2,Col3", comments='') # 使用comments=''防止header被当作注释处理[^3] ``` 另一种更为通用的方式是利用Pandas库,它允许更加复杂的表格结构定义,包括列名设置等特性。以下是基于Pandas的例子: ```python import pandas as pd import numpy as np # 构建 DataFrame 对象 df = pd.DataFrame({ 'Column1': [1, 4], 'Column2': [2, 5], 'Column3': [3, 6] }) # 导出为 CSV 文件 df.to_csv('pandas_data.csv', index=False) # 设置index=False不写入索引列[^4] ``` #### 创建NPY文件 对于NPY文件而言,这是专门用于存储单个NumPy数组的数据格式,具有高效性和便捷性的特点。要将NumPy数组保存为`.npy`文件,只需调用`numpy.save()`方法即可完成此过程。 下面是具体的实现代码片段: ```python import numpy as np # 定义一个二维数组作为示例 array_to_save = np.random.rand(10, 10) # 保存该数组到 .npy 文件 np.save('saved_array.npy', array_to_save) ``` 如果希望加载之前保存过的.npz.npy文件,则应分别使用`numpy.load()`命令读取相应类型的文件内容回到内存中继续工作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值