Python 如何对numpy数组位置值进行分组?

Python 如何对numpy数组位置值进行分组?,python,arrays,numpy,Python,Arrays,Numpy,有一个np.array: [ array(['x_0', '2/20/1990', '3/20/1990'], dtype=object), array(['x_1', '1', '2'], dtype=object), array(['x_3', 'foo', 'bar'], dtype=object), etc...] 我想创建一个数组,该数组将包含所有分组的值(所有第一个值与第一个值,第二个值与第二个值,并用“\n”分隔): 像这样: [array(['x_0\nx_1\nx_n,

有一个np.array:

[
array(['x_0', '2/20/1990', '3/20/1990'], dtype=object), 
array(['x_1', '1', '2'], dtype=object), 
array(['x_3', 'foo', 'bar'], dtype=object), etc...]
我想创建一个数组,该数组将包含所有分组的值(所有第一个值与第一个值,第二个值与第二个值,并用“\n”分隔):

像这样:

[array(['x_0\nx_1\nx_n, '2/20/1990\n1\nfoo', '3/20/1990\n2\bar', etc], dtype=object)]

首先转置矩阵,然后使用“\n”作为分隔符连接每行的值

map(lambda x: '\n'.join(x), a.T)

您可以使用python内置函数和
join

>>> a=[
... np.array(['x_0', '2/20/1990', '3/20/1990'], dtype=object), 
... np.array(['x_1', '1', '2'], dtype=object), 
... np.array(['x_3', 'foo', 'bar'], dtype=object)]

>>> new=np.array(['\n'.join(k) for k in zip(*a)],dtype=object)
>>> new
array(['x_0\nx_1\nx_3', '2/20/1990\n1\nfoo', '3/20/1990\n2\nbar'], dtype=object)