Как назначить новый столбец, сформулированный в цикле, используя условия для нескольких фреймов данных в пандах? - PullRequest
0 голосов
/ 09 апреля 2019

У меня есть список из 17 фреймов данных:

CGdfs = [CGdf_2002, CGdf_2003, ......., CGdf_2018]

Мне нужно добавить новый столбец с именем 'custom_regionдля каждого из этих информационных кадров.Можно ли сделать это с помощью цикла?

Я попытался назначить столбец одному фрейму данных - CGdf_2002, используя цикл for, как показано ниже:

custom_region = []

#for df in CGdfs:
for region, country in zip(CGdf_2002['region_of_headquarters'], CGdf_2002['country_of_headquarters']):
  if(region == 'Americas' and country == 'United States of America'):
    custom_region.append('US')
  elif(region == 'Americas' and country != 'United States of America'):
    custom_region.append('Americas(ex-US)') 
  elif(region == 'Africa'):
    custom_region.append('Africa') 
  elif(region == 'Oceania'):
    custom_region.append('Oceania')
  elif(region == 'Europe' and country == 'United Kingdom'):
    custom_region.append('UK')
  elif(region == 'Europe' and country != 'United Kingdom'):
    custom_region.append('Europe(ex-UK)')
  elif(region == 'Asia' and country == 'Japan'):
    custom_region.append('Japan')
  elif(region == 'Asia' and country != 'Japan'):
    custom_region.append('Asia(ex-Japan)')
  else:
    custom_region.append('')

CGdf_2002['custom_region'] = custom_region

Я хочу провести вышеоперация для всех данных в приведенном выше списке вместе.Пожалуйста, предложите решение.

...