Как сгруппировать районы по странам в цикле for в python? - PullRequest
0 голосов
/ 09 июля 2019

У меня есть датафрейм со странами и районами, я хотел бы сгруппировать все районы по странам.

Это мой код:

sa_d = []
ma_d = []
za_d = []
mo_d = []
for d, f in dn['interview_country', 'interview_district']:
    if d == 'South Africa':
      sa_d.append(f)
    elif d == 'Malawi':
      ma_d.append(f)
    elif d == 'Zambia':
      za_d.append(f)
    elif d == 'Mozambique':
      zo_d.append(f)

Я хотел бы получить список районов для каждой страны в качестве вывода. Вместо этого я получаю сообщение об ошибке:

KeyError: ('interview_country', 'interview_district')

1 Ответ

0 голосов
/ 09 июля 2019

Добавьте еще одну пару скобок (при условии, что для данных pandas):

sa_d = []
ma_d = []
za_d = []
mo_d = []
for d, f in dn[['interview_country', 'interview_district']].values.tolist():
    if d == 'South Africa':
      sa_d.append(f)
    elif d == 'Malawi':
      ma_d.append(f)
    elif d == 'Zambia':
      za_d.append(f)
    elif d == 'Mozambique':
      zo_d.append(f)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...