Numpy.tostring 并返回数组

Numpy.tostring and back to an array

我正在尝试将 numpy 数组转换为数组的字符串表示形式,然后再转换回数组本身。以下是使用的数据 frame_string = numpy.array2string(frame, separator=',') 当我尝试使用 numpy.fromstring(frame_string, dtype=int, sep=',') 将它转换回一个 numpy 数组时,我最终得到一个空的 [] 我究竟做错了什么?一段时间以来,我一直在用这个问题撞墙。 感谢您的帮助!

"""[[[24,25,22],
  [24,24,21],
  [24,24,21],
  ...,
  [36,24,30],
  [36,24,30],
  [35,23,29]],

 [[26,26,24],
  [25,25,23],
  [26,24,23],
  ...,
  [37,25,31],
  [37,25,31],
  [37,25,31]],

 [[28,25,25],
  [29,26,26],
  [30,27,27],
  ...,
  [38,26,32],
  [39,27,33],
  [39,27,33]],

 ...,

 [[22,23,18],
  [22,23,18],
  [24,22,18],
  ...,
  [21,20,24],
  [21,20,24],
  [20,19,23]],

 [[22,23,17],
  [23,23,17],
  [25,22,18],
  ...,
  [21,20,24],
  [21,19,25],
  [20,18,24]],

 [[23,23,17],
  [24,23,17],
  [26,22,18],
  ...,
  [21,20,24],
  [21,19,25],
  [20,18,24]]]"""

numpy.fromstring 不是 numpy.array2string 的倒数。 NumPy 不提供 numpy.array2string.

的任何逆运算

事实上,不可能从显示的字符串恢复原始数组。默认情况下,numpy.array2string 将汇总大数组,用 ... 替换大块内容。我们可以看到您的阵列发生了这种情况。该数据丢失了。 documented 避免这种情况的方法是将 threshold=sys.maxsize 传递给 array2string 调用。