Почему и когда dataframe.apply дает результаты, отличные от использования функции для отдельного элемента? - PullRequest
0 голосов
/ 23 октября 2018

Я хочу преобразовать numpy.datetime64 в datetime.date.Скажите, пожалуйста, почему метод № 2 работает, а не метод № 1?Является ли обычным для dataframe.apply (fn) выдавать результат, отличный от вызова fn (элемента)?

1

sample = np.datetime64('2018-03-31T00:00:00.000000000')
fails = pd.datetime.date(sample) 
# TypeError: descriptor 'date' requires a 'datetime.datetime' object but received a 
# 'numpy.datetime64'

2

sample = np.datetime64('2018-03-31T00:00:00.000000000')
sample = pd.DataFrame([sample])
print(sample[0].apply(pd.datetime.date))

pandas version: '0.23.3'

numpy версия: '1.14.0'

1 Ответ

0 голосов
/ 23 октября 2018

Проблема не в функции применения.

Как объясняет @miradulo в комментариях, конструктор DataFrame преобразует значения datetime64 в Timestamp.pd.datetime.date (pd.Timestamp (sample)) работает нормально и более сопоставим с методом # 2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...