Почему numy массивы не могут неявно преобразовать из datetime в np.datetime64?

Скажи, у меня естьdatetime:

given_time = datetime(2013, 10, 8, 0, 0, 33, 945109,
                      tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=60, 
                                                             name=None))

Я хотел бы превратить его вnp.datetime64:

np.datetime64(given_time)
> numpy.datetime64('2013-10-08T00:00:33.945109+0100')

Это работает хорошо. Тем не менее, если у меня есть массивgiven_time:

given_times = np.array([given_time]*3) # dtype is object

И то и другоеgiven_times.astype('datetime64') а такжеgiven_times = np.array([given_time] * 3, dtype=np.datetime64) вызоветTypeError: Cannot cast datetime.datetime object from metadata [us] to [D] according to the rule 'same_kind'

Итак, я должен указать блок:

given_times.astype('datetime64[us]')
# or
given_times = np.array([given_time]*3, dtype='datetime64[us]')

У меня вопрос, почему я должен указать здесь единицу измерения? Не требует блока вnp.datatime64 конструктор.

Ответы на вопрос(1)

Ваш ответ на вопрос