gpt4 book ai didi

python - 类型错误 : Mismatch between array dtype ('object' ) and format specifier ('%.18e' )

转载 作者:太空狗 更新时间:2023-10-29 19:34:00 25 4
gpt4 key购买 nike

我有以下数组:

X = np.array([image_array_to_vector1,image_array_to_vector2,image_array_to_vector3,image_array_to_vector4])

X 的打印结果如下:

[array([167, 167, 169, ...,   1,   1,   1], dtype=uint8)
array([42, 43, 43, ..., 41, 36, 34], dtype=uint8)
array([0, 0, 0, ..., 0, 0, 0], dtype=uint8)
array([0, 0, 0, ..., 0, 0, 0], dtype=uint8)]

当我尝试将数据保存为 txt 时:

X_to_text_file = np.savetxt('x.txt',X)

我得到以下信息:

File "/Library/Python/2.7/site-packages/numpy/lib/npyio.py", line 1258, in savetxt
% (str(X.dtype), format))
TypeError: Mismatch between array dtype ('object') and format specifier ('%.18e')

这是为什么呢?我该如何解决这个问题?

谢谢。

最佳答案

如果没有一些示例数据,复制这个有点困难,但这是我想出的。

arr = np.array([np.array([1,2,3]), np.array([1,2,3,4])])
arr
array([array([1, 2, 3]), array([1, 2, 3, 4])], dtype=object)
np.savetxt('x.txt', arr)
TypeError: Mismatch between array dtype ('object') and format specifier ('%.18e')

正如@Artier 所指出的,在Write object array to .txt file 中接受的答案末尾有一个小片段。这指出您可以使用 fmt='%s' 将数组保存为字符串。使用这种格式似乎可以解决我的问题(同样,如果没有数据样本,我无法完全重现您的问题)。

np.savetxt('x.txt', arr, fmt='%s')

我要指出的是,如果您希望保存不同的数组并希望在一个位置保存它们 savez非常有用。

关于python - 类型错误 : Mismatch between array dtype ('object' ) and format specifier ('%.18e' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48230230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com