#python #pandas #dataframe
Вопрос:
У меня есть фрейм данных pandas («df»), и я пытаюсь отфильтровать date
столбец, чтобы включить данные только до 2020 года. Я попробовал два подхода для определения правильной оси дат, и оба они всегда верны, независимо от даты. Есть какие-нибудь предложения?
Подход № 1:
df['jan2020'] = pd.to_datetime('2020-01-01')
for row in range(df.shape[0]):
df['boolCol'] = (df.iloc[row,0] <= df['jan2020'])
df.head(500)
Подход № 2:
df['date'] = pd.to_datetime(df['date'])
start_date = df['date'].min()
end_date = pd.to_datetime('2020-01-01')
mask = (df['date'] >= start_date) amp; (df['date'] <= end_date)
df['mask']=mask
print(df['mask'])
Ответ №1:
Попробуйте что-нибудь вроде df = df[pd.to_datetime(df['date']) < '2020-01-01']