Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何转换asarray';用Python将输出恢复到正常数组?_Python_Arrays_Numpy - Fatal编程技术网

如何转换asarray';用Python将输出恢复到正常数组?

如何转换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,

我有一些代码使用了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, 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检查一维和多维数组到数组的转换。