Я пытаюсь создать информационный фрейм, который отслеживает количество государственных школ, открытых в период с 2010 по 2016 годы.
StatusType County 2010 ...2016 OpenYear ClosedYear
1 Closed Alameda 0 0 2005 2015.0
2 Active Alameda 0 0 2006 NaN
3 Closed Alameda 0 0 2008 2015.0
4 Active Alameda 0 0 2011 NaN
5 Active Alameda 0 0 2011 NaN
6 Active Alameda 0 0 2012 NaN
7 Closed Alameda 0 0 1980 1989.0
8 Active Alameda 0 0 1980 NaN
9 Active Alameda 0 0 1980 NaN
Я хочу обновить столбцы 2010-2016, чтобы отслеживать количество школ, открытых в год. Например, первая школа в фрейме данных открывается в 2005 году и закрывается в 2015 году. Итератор должен проверить столбец «ClosedYear» и добавить 1 ко всем значениям строк столбцов <2015 (2010,2011 ..., 2014). Если в столбце «ClosedYear» указано «NaN», то, начиная с года в столбце «OpenYear», добавьте 1 к значениям строк всех столбцов> = «OpenYear» (например, школа № 4, столбцы [2011,2012 .. ., 2016] +1 & колонка [2010] без изменений)
Я думал об использовании «apply» для применения функции к фрейму данных. Но это может быть не самый эффективный способ решения проблемы. Нужна помощь в выяснении, как сделать эту работу! Спасибо!
Дополнительный шаг:
После окончания подсчета я хочу сгруппировать столбцы года по округам. Я склоняюсь к использованию функции «groupby» w / sum для суммирования количества открытых школ в округе за год. Если бы кто-то мог добавить это с ответом на вопрос выше, было бы очень полезно.
Ожидаемый результат:
StatusType County 2010 ...2016 OpenYear ClosedYear
1 Closed Alameda 1 0 2005 2015.0
2 Active Alameda 1 1 2006 NaN
3 Closed Alameda 1 0 2008 2015.0
4 Active Alameda 0 1 2011 NaN
5 Active Alameda 0 1 2011 NaN
6 Active Alameda 0 1 2012 NaN
7 Closed Alameda 0 0 1980 1989.0
8 Active Alameda 1 1 1980 NaN
9 Active Alameda 1 1 1980 NaN