У меня есть DataFrame top15
с названиями стран в качестве индексов и несколькими столбцами. Я пытаюсь добавить новый столбец, рассчитанный из двух существующих, но он не учитывается объектом groupby (группы по континентам). Вот что я делаю:
- Я пробовал два подхода для создания нового столбца, и при печати DataFrame отображается столбец POPEST:
top15['POPEST'] = top15['Energy Supply'] / top15['Energy Supply per Capita']
top15 = top15.assign(POPEST=[top15['Energy Supply'] / top15['Energy Supply per Capita']])
После группировки столбец POPEST (единственный, который меня интересует) не отображается при вычислении какой-либо функции:
ContinentDict = {'China':'Asia',
'United States':'North America',
'Japan':'Asia',
'United Kingdom':'Europe',
'Russian Federation':'Europe',
'Canada':'North America',
'Germany':'Europe',
'India':'Asia',
'France':'Europe',
'South Korea':'Asia',
'Italy':'Europe',
'Spain':'Europe',
'Iran':'Asia',
'Australia':'Australia',
'Brazil':'South America'}
grouped = top15.groupby(by=ContinentDict)
print(grouped.sum())
Это выводит каждый сумма всех значений, основанных на стране и ее континенте, кроме столбца POPEST.
Что я делаю не так?
Изменить: top15 - это результат синтаксического анализа и слияния различных файлов excel / csv , столбцы: ['Rank', 'Documents', 'Citable documents', 'Citations', 'Self-citations', 'Citations per document', 'H index', 'Energy Supply', 'Energy Supply per Capita', '% Renewable', '2006', '2007', '2008', '2009', '2010', '2011', '2012', '2013', '2014', '2015']
И строки - это 15 стран, перечисленных в ключах ContinentDict
.