преобразовать массив Numpy в панды datetime.date DataFrame - PullRequest
0 голосов
/ 17 мая 2018

У меня есть numpy.ndarray то есть значения pandas._libs.tslib.Timestamp

Пример:

Вход: type(closedDate)

Выход: numpy.ndarray

In: type(closedDate[0])

Out: pandas._libs.tslib.Timestamp

Я хотел бы преобразовать содержимое closedDate в список datetime.date

Я пыталсяследующее:

for i in closedDate:
    closedDate[i].to_datetime()

Но получите эту ошибку:

IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices

Что делать?: /

Ответы [ 2 ]

0 голосов
/ 18 мая 2018
[x.to_pydatetime().date() for x in closedDate]

Заметьте, однако, что вы, вероятно, допустили какую-то ошибку, чтобы в итоге получить массивный массив, содержащий тип данных pandas.Серии pandas и DataFrames лучше оснащены для обработки типов, специфичных для панд, чем массивы numpy.

0 голосов
/ 18 мая 2018

Я бы ожидал, что numpy предоставит эту функцию через astype, так что вам даже не придется явно циклически перебирать массив:

dt_arr = closedDate.astype(np.datetime64)

проверка:

closedDate
Out: 
array([Timestamp('2017-09-25 14:39:00'), Timestamp('2017-09-26 14:39:00'),
   Timestamp('2017-09-27 14:39:00')], dtype=object)

type(closedDate)
Out: numpy.ndarray

type(closedDate[0])
Out: pandas._libs.tslib.Timestamp

type(dt_arr)
Out: numpy.ndarray

type(dt_arr[0])
Out: numpy.datetime64
...