У меня есть 2 следующих набора данных:
Индивидуальные данные
household_id member_id channel event_begin event_end
0 1 1 100 83098 83300
1 1 2 100 83150 83600
2 1 1 200 83700 83865
3 1 2 200 83931 83963
4 1 3 200 84367 84532
5 1 4 450 84598 84721
6 2 1 300 83841 83906
7 2 2 300 78219 78500
Домашние данные
household_id channel Begin End
0 1 100 83098 83600
1 1 200 84367 84532
2 2 300 83841 83906
3 2 300 78219 78452
Я хочу добавить столбец в Individual data
как ['FS_NFS']
, если Household data
имеет такой же домашний_идентификатор и канал, что и в индивидуальных данных (т.е. индивидуальные и семейные данные имеют одинаковый идентификатор = (домашний_ид и канал))
Теперь я хочу поместите 'FS'
в столбец 'FS_NFS'
в Individual Data
, если следующее условие удовлетворяет
(indv['event_begin']>=HH['Begin']) & (indv['event_end']<=HH['End']) &
(indv['household_id']==HH['household_id']) & (indv['channel']==HH['channel'])
иначе Я хочу 'NFS'
в столбце 'FS_NFS'
в Individual data
Ожидаемый выход:
household_id member_id channel event_begin event_end FS_NFS
0 1 1 100 83098 83300 FS
1 1 2 100 83150 83600 FS
2 1 1 200 83700 83865 NFS
3 1 2 200 83931 83963 NFS
4 1 3 200 84367 84532 FS
5 1 4 450 84598 84721 NFS (Channel not prsent in both)
6 2 1 300 83841 83906 FS
7 2 2 300 78219 78500 NFS