Сравнение дат и заполнение нового столбца на основе этого условия - PullRequest
0 голосов
/ 28 ноября 2018

Я хочу проверить, находится ли одна дата между двумя другими датами (все в одной строке).Если это правда, я хочу, чтобы новый столбец был заполнен значением продаж той же таблицы.Если нет, то строка должна быть удалена.

Код должен повторяться по всему фрейму данных.

Это мой код:

for row in final:
x = 0
if pd.to_datetime(final['start_date'].iloc[x]) < pd.to_datetime(final['purchase_date'].iloc[x]) < pd.to_datetime(final['end_date'].iloc[x]):
    final['new_col'].iloc[x] = final['sales'].iloc[x]
else:
    final.drop(final.iloc[x])
x = x + 1
print(final['new_col'])

Вместо значений final[sales] Я только что вернул 0.Кто-нибудь знает, где ошибка или какой-либо другой эффективный способ ее устранения?

Фрейм данных выглядит следующим образом:

enter image description here

1 Ответ

0 голосов
/ 30 ноября 2018

Я сделаю что-то вроде этого:

Сначала создадим новый столбец:

import numpy as np
final['new_col'] = np.where(pd.to_datetime(final['start_date'])<(pd.to_datetime(final['purchase_date']), final['sales'], np.NaN)

Затем вы просто отбросите Na:

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