Хотите объединить элементы массива в один элемент

#arrays #python-3.x #concatenation

#массивы #python-3.x #конкатенация

Вопрос:

У меня есть массив массивов, который выглядит как

 time 
array([array([   0,    1,    0,   10,   12, 2011], dtype=int16),
   array([   0,    1,    0,   10,   12, 2011], dtype=int16),
   array([   0,    1,    0,   10,   12, 2011], dtype=int16), ...,
   array([   0,   59,   23,   10,   12, 2011], dtype=int16),
   array([   0,   59,   23,   10,   12, 2011], dtype=int16),
   array([   0,   59,   23,   10,   12, 2011], dtype=int16)],
  dtype=object)
 

и я хотел бы преобразовать это во что-то вроде

 time 
array([0:1:0 10-12-2011,
      etc
      0:59:23 10-12-2011])
 

Я чувствую, что должен быть в состоянии сделать это для всей структуры без необходимости перебирать каждую отдельную строку / столбец.

Комментарии:

1. Что такое 0:1:0 10-12-2011 ? Это строка?

2. В конечном итоге я хочу преобразовать в datetime, поэтому я бы сказал «да».

Ответ №1:

Я бы сказал, что вы не можете избежать циклов, но вы можете получить довольно приличный результат, прокручивая внешний массив и преобразуя ваши данные в datetime объекты. Допустим a , ваш массив:

 from datetime import datetime
results = array([datetime(*row[::-1]) for row in a])