2015-03-04 6 views
3

Существует np.array:Как группировать значения позиции массива numpy?

[ 
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...] 

Я хочу, чтобы создать массив, который будет содержать все этого значения сгруппированы (все первые значения со значениями 1-го, вторые значения с вторым, и разделены «\ п ":

так:

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

ответ

1

Сначала транспонировать вашу матрицу, а затем сцепить значение каждой строки с помощью '\ п' в качестве разделителя

.
2

Вы можете использовать питон встроенного zip функции и 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) 
Смежные вопросы