1. 文件要保存为.npy文件类型,否则会出错
2. 保存为numpy专用二进制格式后,就不能用notepad++打开(乱码)看了,这是相对tofile内建函数不好的一点
如果你想将多个数组保存到一个文件中的话,可以使用numpy.savez函数。savez函数的第一个参数是文件名,其后的参数都是需要保存的数组,也可以使用关键字参数为数组起一个名字,非关键字参数传递的数组会自动起名为arr_0, arr_1, ...。savez函数输出的是一个压缩文件(扩展名为npz),其中每个文件都是一个save函数保存的npy文件,文件名对应于数组名。load函数自动识别npz文件,并且返回一个类似于字典的对象,可以通过数组名作为关键字获取数组的内容:
>>> a = np.array([[1,2,3],[4,5,6]])
>>> b = np.arange(0, 1.0, 0.1)
>>> c = np.sin(b)
>>> np.savez("result.npz", a, b, sin_array = c)
>>> r = np.load("result.npz")
>>> r["arr_0"] # 数组a
array([[1, 2, 3],
[4, 5, 6]])
>>> r["arr_1"] # 数组b
array([ 0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])
>>> r["sin_array"] # 数组c
array([ 0. , 0.09983342, 0.19866933, 0.29552021, 0.38941834,
0.47942554, 0.56464247, 0.64421769, 0.71735609, 0.78332691])
Numpy能够读写磁盘上的文本数据或二进制数据。numpy.load和numpy.save函数(推荐在不需要查看保存数据的情况下使用)将数组以二进制格式保存到磁盘np.load和np.save是读写磁盘数组数据的两个主要函数,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为.npy的文件中。例子:import numpy as npa=np.arange(5)np.save...
##查看.bin 文件里的二进制转化为整数时是否能和原数据对应,将原数据先保存到.txt文件中
#data是一个数组
#将tensor数据转为numpy ,以二进制方式读入保存到.bin中
data = data.cpu().numpy()
data.tofile('b.bin')
#将data数据保存到.txt中
data = data.cpu().numpy()
np.savetxt('002.txt',data,fmt='%d',delimiter=',')
#将b.bin文件转为对应的原始数据的格
使用二进制文件写入是因为我们的设备为xavier,cv2视频直接写入,编码耗时,占用cpu,因此,考虑直接将numpy矩阵写入,减少程序运行时的耗时工作。
和其他文件写入一样,直接写入
import cv2
import numpy as np
img = cv2.imread('night.jpg')
print(img[:10,0,0])
writer = open("a.bin"...
读/写文件
NumPy的文件读/写主要有二进制的文件读/写和文件列表形式的数据读/写两种形式。学会读/写文件是利用NumPy进行数据处理的基础。NumPy提供了若干函数,可以把结果保存到二进制或文本文件中。除此之外,NumPy还提供了许多从文件读取数据并将其转换为数组的方法。
1. 二进制文件读/写
1.1 save函数:将一个numpy数组保存为二进制文件
save函数以二进制的格式保存数据。
save函数的语法格式为:numpy.save(file, arr, allow_pickle=True, f
在处理 NMR 数据时,通常会有以下步骤:
1. 读取 NMR 数据文件,这通常是一个二进制文件或者使用特定格式存储的文本文件。常用的 NMR 数据文件格式包括 Bruker、Varian 和 Agilent 等。
2. 对 NMR 数据进行预处理,包括去除噪声、消除漂移、校正积分和扫描速度等。
3. 进行数据处理,这通常包括对数据进行求和、平滑、找峰和峰对应的位置等。
4. 对处理后的数据进行可视化,常用的可视化工具包括 Excel、Origin、Matlab 和 Python 等。
下面是一段使用 Python 进行 NMR 数据处理的示例代码:
```python
import numpy as np
# 读取 NMR 数据文件
data = np.loadtxt("nmr_data.txt")
# 去除噪声
data = data[data > 0.01]
sum_data = np.sum(data)
smooth_data = np.convolve(data, np.ones(5)/5, mode='same')
peaks, _ = find_peaks(smooth_data)
plt.plot(data)
plt.plot(smooth_data)
plt.scatter(peaks, smooth_data[peaks], c='r')
plt.show()
希望这些内容能够帮到您!