#pandas #time-series #panel
Вопрос:
У меня есть следующий фрейм данных, содержащий данные о международной торговле:
pair_id year exporter importer trade 0 229.0 1980.0 AFG AUS 9.395864e 05 1 230.0 1980.0 AFG AUT 5.194275e 05 2 235.0 1980.0 AFG BGD 2.723165e 04 3 241.0 1980.0 AFG BLX 4.191598e 05 4 251.0 1980.0 AFG CAN 6.658042e 04 ... ... ... ... ... ... 972687 24743.0 2016.0 ZWE UKR 4.521700e 04 972688 24776.0 2016.0 ZWE USA 6.543986e 06 972689 24868.0 2016.0 ZWE ZAF 1.011946e 09 972690 24870.0 2016.0 ZWE ZAR 6.483500e 04 972691 24872.0 2016.0 ZWE ZMB 4.949443e 07
Я хочу вычислить количество лет, в течение которых существует торговля между двумя странами, что означает, что стоимость торговли больше нуля. Например, если две страны торгуют в течение всего периода, в 2016 году значение в столбце продолжительность покажет 37, в 2015 году 36 и так далее. Если торговля останавливается (торговля=0), а затем возвращается, счетчик должен возобновиться. Я подумал о том, чтобы сделать что-то вроде:
trade.groupby(['exporter', 'importer'])([df['trade'gt;0]]).count()