Элементарный максимум со значениями даты - PullRequest
1 голос
/ 20 марта 2019

У меня есть фрейм данных со значениями даты, и я хотел бы манипулировать ими до 1 января или позже.Поскольку мне нужно сделать это поэлементно, я использую np.maximum().Однако приведенный ниже код дает

TypeError: Cannot compare type 'Timestamp' with type 'int'.

Какой метод подходит для такого типа данных?

import pandas as pd
import numpy as np

df = pd.DataFrame({'date': np.arange('1999-12', '2000-02', dtype='datetime64[D]')})
df['corrected_date'] = np.maximum(pd.to_datetime('20000101', format='%Y%m%d'), df['date'])

1 Ответ

0 голосов
/ 20 марта 2019

Для меня работает сравнение с Series:

s  = pd.Series(pd.to_datetime('20000101', format='%Y%m%d'), index=df.index)
df['corrected_date'] = np.maximum(s, df['date'])

Или с DatetimeIndex:

i  = np.repeat(pd.to_datetime(['20000101'], format='%Y%m%d'), len(df))
df['corrected_date'] = np.maximum(i, df['date'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...