Вы довольно близки, вам просто нужно перебирать группы, запрашивая основной DataFrame, чтобы получить подмножество DataFrame для каждой территории провинции. В предложении DataFrame.query
символ @
используется для включения переменной. Поскольку вы новичок, также стоит упомянуть, что делает f'DATA/{territory}'
, это хороший чистый способ форматирования строк в python3 .6 и далее. Он вставит значение переменной территории в этой позиции в строке.
for territory in Country.groupby(['province_territory']).groups:
df = Country.query('province_territory == @territory')
df.to_file(f'DATA/{territory}')
Кстати, если вам просто нужен уникальный набор значений территории провинции и ничего, что предоставляет метод groupby, маленькая чище версия может быть:
for territory in Country['province_territory'].unique():
df = Country.query('province_territory == @territory')
df.to_file(f'DATA/{territory}')