如何写np.argmax(数组)到一个文本文件?



我使用np,argmax来提取数组中最大元素的位置。我需要能够转换这个位置-例如[x]到字符串"[x]"这样我就可以把它写入一个文本文件

然而,它要么不向文件写入任何内容,抛出"TypeError: write()参数必须是str,而不是numpy. narray "Or抛出的write()参数必须是str,而不是bytes。错误。

largest_elem_pos = np.argmax(array, axis=-1)
f = open("output.txt", "w")
f.write(largest_elem_pos)

到目前为止,我所尝试的一切似乎都不起作用。我可能是一个白痴在这里,任何帮助将不胜感激!

Thanks in advance

非常接近——>Largest_elem_pos = str(np;argmax(数组,轴= 1)

听起来您可能会遇到麻烦,因为数组大于1D,所以largest_elem_pos是一个数组。如果是,可以使用

np.savetxt('output.txt',largest_elem_pos)

或者,如果您需要这个文件中的其他内容,并且需要自己处理读/写,您可以使用

f.write(largest_elem_pos.tostring().decode())

作为.tostring()实际上也创建了一个字节串,所以您需要.decode()将其转换为字符串。

但是,即使使用(8,1)形状的数组,我也无法重现字节问题。在本例中,我得到TypeError: write() argument must be str, not numpy.ndarray,即您给出的第二个示例。

相关内容

最新更新