Загрузите данные энергии из файла Energy Indicators.xls, который является списком показателей энергоснабжения и производства возобновляемой электроэнергии от Организации Объединенных Наций на 2013 год и должен быть помещен в DataFrame с переменным названием энергии.Как загрузить лист excel и очистить данные в python?
Имейте в виду, что это файл Excel, а не файл значений, разделенный запятыми. Кроме того, не забудьте исключить информацию нижнего колонтитула и заголовка из файла данных. Первые два столбца не являются ненужными, поэтому вам следует избавиться от них, и вы должны изменить метки столбцов, чтобы столбцы были такими:
['Страна', 'Энергоснабжение', 'Энергоснабжение на душу населения', ' % Renewable '] Преобразование энергоснабжения в гигаджоули (в петаджуле есть 1 000 000 гигаджулей). Для всех стран, у которых отсутствуют данные (например, данные с «...»), убедитесь, что это отражено как значения np.NaN.
Переименуйте следующий список стран (для использования в последующих вопросах): «Республика Корея»: «Южная Корея», «Соединенные Штаты Америки»: «Соединенные Штаты», «Соединенное Королевство Великобритании и Северной Ирландии »:« Соединенное Королевство », « Китай, Специальный административный район Гонконг »:« Гонконг »
Есть также несколько стран с номерами и/или скобками на их имя. Обязательно удалите их, , например. «Боливия (многонациональное государство)» должна быть «Боливия», «Швейцария17» должна быть «Швейцария».
Затем загрузите данные ВВП из файла world_bank.csv, который представляет собой ВВП csv, содержащий страны с 1960 по 2015 год от Всемирного банка. Назовите этот ВВП DataFrame. Обязательно пропустите заголовок и переименуйте следующий список стран: «Корея, Республика»: «Южная Корея», «Иран, Исламская Республика»: «Иран», «Гонконгская САР, Китай» : «Гонконг»
Наконец, загрузите данные Sciamgo Journal и Country Rank для Energy Engineering and Power Technology из файла scimagojr-3.xlsx, который оценивает страны на основе их вклада в журнал в вышеупомянутой области. Вызовите этот ScimEn DataFrame.
Присоединитесь к трем наборам данных: GDP, Energy и ScimEn в новый набор данных (используя пересечение названий стран). Используйте только последние 10 лет (2006-2015 гг.) Данных о ВВП и только 15 лучших стран по Scramagojr 'Rank' (Rank 1 to 15).
Индекс этого DataFrame должен быть названием страны, а столбцы должны быть ['Rank', 'Documents', 'Citable documents', 'Citations', 'Self-citations', 'Цитаты на документ «Индекс», «Энергоснабжение», «Энергоснабжение на душу населения», «% возобновляемых», «2006», «2007», «2008», «2009», «2010», «2011», «2012» ',' 2013 ',' 2014 ',' 2015 '].
Эта функция должна возвращать DataFrame с 20 столбцами и 15 элементами.
Я попытался следующий код на этот вопрос, но она возвращается только 12 строк вместо 15:
import pandas as pd
from pandas import ExcelWriter
from pandas import ExcelFile
pd.set_option('display.max_columns', None)
pd.set_option('display.max_rows', None)
Energy = pd.read_excel('Energy Indicators.xls')
Energy.drop(Energy.columns[[0,1]],axis=1,inplace=True)
Energy.columns=['Country','Energy Supply','Energy Supply per capita','% Renewable']
Energy['Energy Supply']*=1000000
Energy['Country'] = Energy['Country'].str.replace(r"\(.*\)","")
Energy['Country'] = Energy['Country'].str.replace("[0-9()]+$", "")
Energy.replace('Republic of Korea','South Korea', inplace = True)
Energy.replace('United States of America','United States', inplace = True)
Energy.replace('United Kingdom of Great Britain and Northern Ireland','United Kingdom', inplace = True)
Energy.replace('China, Hong Kong Special Administrative Region','Hong Kong', inplace = True)
import pandas as pd
GDP = pd.read_csv('world_bank.csv', index_col=0, header=None)
GDP = GDP.drop(['Data Source'])
GDP = GDP.dropna()
GDP = GDP.reset_index()
GDP.columns = GDP.iloc[0]
GDP.drop(GDP.index[[0,3]], inplace=True)
GDP = GDP.rename(columns={'Country Name': 'Country'})
GDP.replace(',','-', inplace=True)
GDP = GDP.replace('Korea, Rep.','South Korea')
GDP = GDP.replace('Iran, Islamic Rep.','Iran')
GDP = GDP.replace('Hong Kong SAR, China','Hong Kong')
import pandas as pd
from pandas import ExcelWriter
from pandas import ExcelFile
pd.set_option('display.max_columns', None)
pd.set_option('display.max_rows', None)
ScimEn = pd.read_excel('scimagojr-3.xlsx')
b = pd.merge(pd.merge(Energy,GDP,on='Country'),ScimEn,on='Country')
a = pd.merge(pd.merge(Energy,GDP,on='Country'),ScimEn,on='Country')
a = a.sort(['Rank'], ascending=[True])
a = a[a["Rank"] < 16]
a=a.rename(columns = {'2006.0':'abc'})
a.columns.values[53] = "2006"
a.columns.values[54] = "2007"
a.columns.values[55] = "2008"
a.columns.values[56] = "2009"
a.columns.values[57] = "2010"
a.columns.values[58] = "2011"
a.columns.values[59] = "2012"
a.columns.values[60] = "2013"
a.columns.values[61] = "2014"
a.columns.values[62] = "2015"
a = a[['Country','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']]
a = a.set_index('Country')
def ans():
return a
ans()
один вопрос за один раз. Сбрасывание всех ваших запросов в одном quesiton дает читаемость. Улучши это. Прочитайте [ask] и создайте [mcve]. – MYGz