Как рассчитать разницу в днях между всеми датами столбца фрейма данных и отдельными данными в Python

#python #pandas #dataframe #date #datetime

Вопрос:

Я бы рассчитал разницу в днях между всеми днями в столбце «last_review» и 2018-08-01, и я хочу, чтобы выходные данные были точными днями, например, если наблюдение 2018-07-31, выход должен быть 2. И делайте это для каждого наблюдения столбца фрейма данных. Выход должен быть 48894 * 1

введите описание изображения здесь

Ответ №1:

Вы можете это так:

 df['last_review'] = pd.to_datetime(df['last_review'])
df['num_days'] = pd.to_datetime("2019-08-01") - df['last_review']
 

Выход:

   last_review  num_days
0  2018-10-19  286 days
1  2019-05-21   72 days
2  2011-03-28 3048 days
 

Комментарии:

1. Что делать, если я хочу найти разницу между ними между определенной датой, скажем, 2019-08-01

2. Проверьте обновленный ответ

Ответ №2:

Вы можете использовать:

 sub_date = datetime(2018,8,1)
df['last_review'] = pd.to_datetime(df['last_review'])
df['diff'] = (sub_date - df['last_review']).dt.days