Untitled
unknown
plain_text
9 months ago
1.0 kB
5
Indexable
# Нормализация дат: удаление временной части
df1['CREATED_TS_1_date'] = df1['CREATED_TS_1'].dt.date
df1['CREATED_TS_2_date'] = df1['CREATED_TS_2'].dt.date
df2['Dates_date'] = df2['Dates'].dt.date
# Функция для подсчета количества дат в промежутке
def count_dates_in_range(row, dates):
return ((dates >= row['CREATED_TS_1_date']) & (dates <= row['CREATED_TS_2_date'])).sum()
# Применяем функцию к каждой строке первого DataFrame
df1['Dates_in_range'] = df1.apply(count_dates_in_range, dates=df2['Dates_date'], axis=1)
# Удаляем временные колонки, если они больше не нужны
df1.drop(columns=['CREATED_TS_1_date', 'CREATED_TS_2_date'], inplace=True)
df1['seconds'] = df1['Dates_in_range']*24*60*60
df1['Difference_seconds'] = (df1['CREATED_TS_2'] - df1['CREATED_TS_1']).dt.total_seconds()
df1['sec_delta_final'] = df1['Difference_seconds']-df1['seconds']
df1Editor is loading...
Leave a Comment