如何转换asarray';用Python将输出恢复到正常数组?
我有一些代码使用了NumPy的asarray,因此数组如下所示:如何转换asarray';用Python将输出恢复到正常数组?,python,arrays,numpy,Python,Arrays,Numpy,我有一些代码使用了NumPy的asarray,因此数组如下所示: [[392 200] [461 194] [392 200] [161 202]] [[392, 200], [461, 194], [392, 200], [161, 202]] 我想用逗号将其转换回普通数组。我希望它看起来像这样: [[392 200] [461 194] [392 200] [161 202]] [[392, 200], [461, 194], [392, 200], [161,
[[392 200]
[461 194]
[392 200]
[161 202]]
[[392, 200],
[461, 194],
[392, 200],
[161, 202]]
我想用逗号将其转换回普通数组。我希望它看起来像这样:
[[392 200]
[461 194]
[392 200]
[161 202]]
[[392, 200],
[461, 194],
[392, 200],
[161, 202]]
出路是什么?你当然可以这样做,看看下面的片段:
import numpy as np
np_array = np.asarray([[392, 200], [461, 194], [392, 200], [161, 202]])
python_list = np_array.tolist()
您当然可以这样做,请看下面的代码片段:
import numpy as np
np_array = np.asarray([[392, 200], [461, 194], [392, 200], [161, 202]])
python_list = np_array.tolist()
如果不想转换为列表,可以尝试,并:
如果不想转换为列表,可以尝试,并:
您可能会将实际数据结构与其显示混淆 如果我复制粘贴您的“带逗号的普通数组”:
In [593]: alist = [[392, 200],
...: [461, 194],
...: [392, 200],
...: [161, 202]]
我得到一个嵌套列表,显示为:
In [594]: alist
Out[594]: [[392, 200], [461, 194], [392, 200], [161, 202]]
这是逗号分隔的,但不能分成整齐的线条
如果我从中创建一个numpy
数组:
In [595]: arr = np.array(alist)
In [596]: arr
Out[596]:
array([[392, 200],
[461, 194],
[392, 200],
[161, 202]])
数组的repr
显示包括逗号,但str
显示忽略了它们:
In [597]: print(arr)
[[392 200]
[461 194]
[392 200]
[161 202]]
这是相同的数组,相同的数据结构,但具有不同的显示字符串
我们可以通过以下方式从中获得列表
:
In [599]: arr.tolist()
Out[599]: [[392, 200], [461, 194], [392, 200], [161, 202]]
但是
list
和ndarray
之间的区别比逗号或不显示的区别要大得多。您可能会将实际数据结构与它们的显示混淆起来
如果我复制粘贴您的“带逗号的普通数组”:
In [593]: alist = [[392, 200],
...: [461, 194],
...: [392, 200],
...: [161, 202]]
我得到一个嵌套列表,显示为:
In [594]: alist
Out[594]: [[392, 200], [461, 194], [392, 200], [161, 202]]
这是逗号分隔的,但不能分成整齐的线条
如果我从中创建一个numpy
数组:
In [595]: arr = np.array(alist)
In [596]: arr
Out[596]:
array([[392, 200],
[461, 194],
[392, 200],
[161, 202]])
数组的repr
显示包括逗号,但str
显示忽略了它们:
In [597]: print(arr)
[[392 200]
[461 194]
[392 200]
[161 202]]
这是相同的数组,相同的数据结构,但具有不同的显示字符串
我们可以通过以下方式从中获得列表
:
In [599]: arr.tolist()
Out[599]: [[392, 200], [461, 194], [392, 200], [161, 202]]
但是
list
和ndarray
之间的差异远大于逗号或不显示。对于所有实际用途来说,它都是一个普通数组;只是表达方式不同。任何类似于我所展示的东西。谢谢@Mateenulhaq检查一维和多维数组到数组的转换。对于所有实际用途,它都是普通阵列;只是表达方式不同。任何类似于我所展示的东西。谢谢@Mateenulhaq检查一维和多维数组到数组的转换。