要将NumPy数组保存到文件中,以及从文件中读取数组数据,你可以使用NumPy提供的函数来进行文件输入输出操作。以下是两个常用的函数:
-
np.savetxt()
:用于将一个或多个数组保存到文本文件中。import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) # 将数组保存到文本文件 np.savetxt('data.txt', arr)
这将创建一个名为
data.txt
的文本文件,并将数组保存在其中。默认情况下,数组将按照指定的精度(默认是小数点后6位)和分隔符(默认是空格)的格式保存。 -
存储位置:默认情况下,
np.savetxt()
函数会将文本文件保存在当前工作目录中。当前工作目录是Python程序运行时所在的文件夹。如果你没有显式指定文件路径,那么保存的文件将位于当前工作目录中。可以使用
os
模块来获取和更改当前工作目录:import os import numpy as np # 获取当前工作目录 current_dir = os.getcwd() print(current_dir)
上述代码中,我们首先使用
os.getcwd()
函数获取当前工作目录,并将其存储在current_dir
变量中。然后,我们创建了一个名为data.txt
的文本文件,并将数组保存在其中。由于没有指定文件路径,因此该文件将被保存在当前工作目录中。需要注意的是,当前工作目录可能会根据你的执行环境而有所不同。可以使用
os.chdir()
函数来更改当前工作目录:import os # 更改当前工作目录 os.chdir('/path/to/your/directory')
在这个示例中,我们使用
os.chdir()
函数将当前工作目录更改为指定的路径'/path/to/your/directory'
。之后,通过调用np.savetxt()
函数来保存文件时,它将在新的工作目录中创建相应的文本文件。 -
np.loadtxt()
:用于从文本文件中加载数组数据。import numpy as np # 从文本文件加载数组数据 arr = np.loadtxt('data.txt')
这将从名为
data.txt
的文本文件中加载数组数据,并将其存储在arr
变量中。 -
当外部导入数据出现编码异常时,查看当前编码与导入文件的编码是否一致,若当前python编码为utf-8,导入文件编码为gbk时,需要设置改成一致的编码才能导入
tryagain = np.loadtxt('tryagain.csv', delimiter=',',dtype="int", encoding='utf-8') data1 = np.genfromtxt('tryagain.csv', delimiter=',',dtype="int", encoding='utf-8') print(tryagain) print(data1)
delimiter
参数用于指定CSV文件中不同列之间的分隔符,常见的分隔符有逗号(’,‘)和制表符(’\t’)。dtype=()用于指定输入数据的类型。
当然,这只是文件输入输出的基本用法。np.savetxt(),np.loadtxt()和genfromtxt()
函数还有一些可选参数,可以用于控制文件格式、分隔符、数据类型等方面的细节。
此外,NumPy还提供了其他一些函数和方法,例如np.save()
和np.load()
,用于以二进制格式保存和加载数组数据。这些函数在处理大型数组或需要保留NumPy数组对象的结构时非常有用。
希望这些信息能对你有所帮助!如果还有其他问题,请随时提问。