numpy保存数据到文件
时间: 2025-06-06 12:19:07 浏览: 10
`NumPy` 提供了多种将数组数据保存到文件的方式,以便后续可以加载或与其他程序共享数据。以下是几种常用的 NumPy 数据存储方式及其说明:
### 1. 使用 `numpy.save`
该函数用于将单个数组保存为二进制 `.npy` 文件。
```python
import numpy as np
# 创建示例数组
arr = np.array([1, 2, 3, 4])
# 将数组保存到文件
np.save('my_array.npy', arr)
# 加载保存的数据
loaded_arr = np.load('my_array.npy')
print(loaded_arr)
```
`.npy` 格式是 NumPy 的专用二进制格式,能够高效地保存和读取数据。
---
### 2. 使用 `numpy.savetxt`
如果需要将数据保存为纯文本文件(如 CSV 或 TXT),可以使用 `numpy.savetxt` 函数。
```python
import numpy as np
# 示例二维数组
data = np.random.rand(5, 3) # 随机生成一个 (5x3) 数组
# 保存为文本文件
np.savetxt('my_data.txt', data, delimiter=',')
# 加载文本文件
loaded_data = np.loadtxt('my_data.txt', delimiter=',')
print(loaded_data)
```
此方法适用于简单的结构化数据,并允许指定分隔符(例如逗号、空格等)。
---
### 3. 使用 `numpy.savez/numpy.savez_compressed`
对于多个数组同时保存的情况,可以使用 `savez` 和 `savez_compressed` 来创建压缩的归档文件 `.npz`。
```python
import numpy as np
array1 = np.array([1, 2, 3])
array2 = np.array([[7], [8]])
# 保存两个数组到 .npz 文件
np.savez('arrays.npz', array_one=array1, array_two=array2)
# 加载并访问单独的数组
with np.load('arrays.npz') as data:
print(data['array_one'])
print(data['array_two'])
# 压缩版本
np.savez_compressed('compressed_arrays.npz', a=array1, b=array2)
```
这种方式适合处理大量复杂数据集,尤其当空间效率至关重要时。
---
总结来说:
- 如果只需要快速存取单一数组且注重性能,则选择 **`.npy`**;
- 若目标是以人类可读的形式导出数据则推荐采用 **文本形式 (.txt/.csv)**;
- 而针对包含若干关联数组的大规模项目而言,**`.npz` 归档** 是更优的选择。
阅读全文
相关推荐
















