📌  相关文章
📜  如何将 NumPy 数组保存到文本文件?(1)

📅  最后修改于: 2023-12-03 15:09:06.260000             🧑  作者: Mango

如何将 NumPy 数组保存到文本文件?

NumPy 是一个Python的库,用于科学计算。在使用NumPy时,我们通常会有将数组存储到文本文件的需求。那么,如何将NumPy数组保存到文本文件中呢?

1. 使用np.savetxt()函数

NumPy提供了savetxt()函数。该函数可以将数组存储到文本文件中,其语法如下:

numpy.savetxt(fname, X, fmt='%.18e', delimiter=' ', newline='\n', header='', footer='', comments='# ', encoding=None)

参数说明:

  • fname:文件名或文件句柄,如果是文件名,则保存数据到该文件,如果是文件句柄,则将数据写入到该句柄所代表的文件中。
  • X:要保存的数组。
  • fmt:写入文件的格式,其默认值为'%.18e',即保留小数点后18位。
  • delimiter:写入文件时的分隔符,默认是空格。
  • newline:写入文件时的行分隔符,默认是'\n'。
  • header:文件头字符串。
  • footer:文件尾字符串。
  • comments:注释字符串,默认以'#'开头。
  • encoding:编码方式。

例如,将一维数组保存到文本文件中:

import numpy as np
 
a = np.arange(10)
np.savetxt('a.txt', a)
2. 使用np.savetxt()函数保存多维数组

如果要将多维数组保存到文本文件中,则需要指定分隔符。比如,将二维数组保存为CSV格式:

import numpy as np
 
a = np.arange(10).reshape(2, 5)
np.savetxt('a.csv', a, delimiter=',')
3. 使用np.savetxt()函数保存文件头和注释

我们可以使用header和comments参数来添加文件头和注释:

import numpy as np
 
a = np.arange(10).reshape(2, 5)
header = 'Index,Value1,Value2,Value3,Value4,Value5\n'
comments = 'This is a sample CSV file\n'
np.savetxt('a.csv', a, delimiter=',', header=header, comments=comments)
4. 使用np.savetxt()函数指定数据格式

我们可以使用fmt参数来指定数据格式,例如保留两位小数:

import numpy as np
 
a = np.array([1.23456, 2.34567, 3.45678])
np.savetxt('a.txt', a, fmt='%.2f')
5. 使用np.savetxt()函数指定编码方式

我们可以使用encoding参数来指定文件的编码方式,例如UTF-8:

import numpy as np
 
a = np.arange(10).reshape(2, 5)
np.savetxt('a.txt', a, encoding='utf-8')

以上就是将NumPy数组保存到文本文件的方法和技巧,需要注意的是,在使用np.savetxt()函数时,要仔细检查分隔符、数据格式、字符编码等参数,避免出现不必要的错误。