У меня есть таблица, подобная следующей:
df = pandas.DataFrame(
[[1,datetime.datetime(2018, 1, 1), datetime.datetime(2019, 1, 1),'Joe'],
[2,datetime.datetime(1999, 1, 1), datetime.datetime(2019, 1, 1),'James'],
[3,datetime.datetime(1980, 1, 1), datetime.datetime(2000, 1, 1),'Jack'],
[4,datetime.datetime(1967, 1, 1), datetime.datetime(1975, 1, 1),'Jim']],
columns=['PERSON ID', 'START DATE', 'END DATE','NAME']
Я хочу получить список коллег и подсчитать их для каждого человека на основе его начальной и конечной даты. Ожидаемый результат -
Name Number_of_colleagues List_of_colleagues
Joe 1 [James]
James 2 [Joe, Jack]
Jack 1 [James]
Jim 0 []
Любая рекомендация, как это сделать? Я попытался использовать вложенный цикл для итерации по каждой строке, чтобы найти его. Это работает, но очень медленно для 20000 строк.