Python 将numpy ndarray从列列表转换为行列表

Python 将numpy ndarray从列列表转换为行列表,python,list,numpy,multidimensional-array,transpose,Python,List,Numpy,Multidimensional Array,Transpose,我有一个数组,它的形状是(5,2)。如何将其更改为行列表,而不是列列表。 这是密码 poly array([['610.0', '1150.0'], ['675', '1150'], ['675', '1215'], ['610', '1215'], ['610', '1150']], dtype='|S32') shape(poly) (5,2) poly.tolist() [['610.0', '1150.0'], ['675', '1150'], ['

我有一个数组,它的形状是(5,2)。如何将其更改为行列表,而不是列列表。 这是密码

poly
array([['610.0', '1150.0'],
   ['675', '1150'],
   ['675', '1215'],
   ['610', '1215'],
   ['610', '1150']], 
  dtype='|S32')
shape(poly)
 (5,2)
poly.tolist()
 [['610.0', '1150.0'],
 ['675', '1150'],
 ['675', '1215'],
 ['610', '1215'],
 ['610', '1150']]
然而,我想要的是

 [['610.0', '1150.0'],['675', '1150'],['675', '1215'],['610', '1215'],['610', '1150']]
我怎样才能得到它?

您可以使用: 方法:

ndarray.T
ndarray.transpose()
就你而言:

poly.T

使用以下命令:

import numpy as np
poly=np.array([['610.0', '1150.0'],
   ['675', '1150'],
   ['675', '1215'],
   ['610', '1215'],
   ['610', '1150']], 
  dtype='|S32')

print("poly", poly)

print()

#print(poly.shape())

print("poly.tolist()", poly.tolist())

#print(poly.T)
print()

print("poly.transpose()", poly.transpose())

这就是困难所在。在我的问题中,
poly
是一个具有形状(5,2)的数组
poly.tolist()
是(5,1)的列列表;列表中的每个元素都是一个(1,2)数组。我想要的是一个列表,但是一个大小为(1,5)的行列表。列表中的每个元素仍然是(1,2)数组。尝试poly.tolist()可以准确地在我的机器上提供所需的输出。不确定您所说的行列表/列列表是什么意思?区别不只是
ipython
提供的特殊
repr
吗?没有行列表或列列表这样的东西。区别纯粹是显示格式的问题。我尝试了这个方法,但得到的是错误:
TypeError:'numpy.ndarray'对象是不可调用的
事实上,我可以使用
poly.transpose()
,但我得到的是
数组(['610.0','675','675','610','610'],['1150.0','1150','1215','1215','1150']],dtype='| S32')
,这不是我需要的。您只有两个结果:1。[610.0]、[1150.0]、[675]、[1150]、[675]、[1215]、[610]、[1215]、[610]、[1150']或2。[['610.0','675', '675','610','610'],['1150.0', '1150', '1215','1215', '1150']]. 第一个不需要转置(),只需要第二个。感谢Adolfo的耐心。我的两个输出似乎是相同的,但当我输入到
ImageDraw.Draw(img).polygon(poly)
时会出错。我需要检查问题出在哪里。非常感谢你!请注意,
poly.T
是一个属性,而不是一个方法,因此您只需要使用
poly.T
而不是
poly.T()
import numpy as np
poly=np.array([['610.0', '1150.0'],
   ['675', '1150'],
   ['675', '1215'],
   ['610', '1215'],
   ['610', '1150']], 
  dtype='|S32')

print("poly", poly)

print()

#print(poly.shape())

print("poly.tolist()", poly.tolist())

#print(poly.T)
print()

print("poly.transpose()", poly.transpose())