У меня есть два кадра данных в r
df1
code date time prod price
123 01-01-2018 06:11:00 MS 12
123 01-01-2018 06:16:12 HS 13
123 01-01-2018 06:17:12 HS 13
123 01-01-2018 06:19:00 MS 12
123 02-01-2018 06:17:12 HS 13
123 02-01-2018 06:19:00 MS 12
df2
code date prod price
123 01-01-2018 MS 12
123 01-01-2018 HS 13
123 02-01-2018 HS 13
Я хочу отфильтровать строки из df1 и df2 с уникальными датами в df1.my df1
имеет более 1000 строк, а df2
имеет только 4 строки
, например, есть 2 уникальных dates
в df1
с двумя уникальными продуктами MS
и HS
.Поэтому я хочу сравнить, например, я хочу отфильтровать строки даты и результата 01-01-2018 & MS
, а затем сравнить с той же датой и временем с df2
, который я в настоящее время использую для цикла аналогично
unique_dates = iss_trans_268559['transaction_date'].unique()
unique_dates.sort()
unique_products = iss_trans_268559['prodcode'].unique()
for i in range(len(unique_dates)):
current_date = df1[(df1['date'] == unique_dates[i]) & df1['prod'] == unique_products[i]
df2_current = df2[df2['date'] == unique_dates[i]]
Я должен получить данные цикла ниже для цикла for, а затем я могу сравнить даты в current_date
и df2_current
current_date
code date time prod price
123 01-01-2018 06:11:00 MS 12
123 01-01-2018 06:19:00 MS 12
df2_current
code date prod price
123 01-01-2018 MS 12
Проблема в вышеприведенном цикле: i
выйдет за пределы unique_products
и df2
Как я могу это сделать?