首页 > 解决方案 > 如何使用 numpy.savetxt 函数将此数组保存到特定文件夹?

问题描述

我正在尝试保存这个数组,然后将它移动到一个文件夹,但它也不允许我这样做,因为它不是我认为的正确类型。我似乎无法弄清楚,所以任何帮助将不胜感激。这是我尝试使用的代码。location我定义的变量是保存后要移动到的文件夹的路径。

我这样做了,并且当数组只有一个维度(如果b = np.array([1,2,3,4,5])时它可以工作,但是如果我在前面添加另一个元素,就像我在发布的代码中所做的那样,它将无法工作。

import numpy as np
import shutil
b = [5,np.array([1,2,2,3,6,7])]
np.savetxt('hi',b)
shutil.move('hi',location)

我收到以下错误消息:

Mismatch between array dtype ('object') and format specifier ('%.18e')

标签: pythonnumpy

解决方案


Savetxt 只保存类似数组的对象。因此,当 b 是原始数组时,它将正常工作。在上面的代码中,您将 b 设置为包含数字 5 和数组的列表。

我不太确定你希望这五个最终在哪里,但你需要将它插入到实际的数组中。您可能希望使用 insert 方法将值放在数组的开头,例如

   b = np.insert(b,0,5) 

我还可以补充一点,您可以将文件直接保存到您想要的位置,这样就不需要shutil. 只需指定要保存文件的位置的路径,该路径在给定程序运行的位置是有效的,您应该一切顺利。


推荐阅读