So laden Sie eine excel-Tabelle und reinigen Sie die Daten in python?

Laden Sie die Energie-Daten aus der Datei Energie Indicators.xls,, das ist eine Liste von Indikatoren der Energieversorgung und der regenerativen Stromerzeugung von den Vereinten Nationen für das Jahr 2013, und sollten in einem DataFrame mit dem Namen der Variablen Energie.

Beachten Sie, dass dies ist eine Excel-Datei, und nicht eine, durch Kommata getrennte Werte-Datei. Auch, stellen Sie sicher ausschließen, dass der footer und der header-Informationen aus der Datendatei. Die ersten beiden Spalten sind unnötig, so sollte man Sie loswerden, und ändern Sie die Spalte-Beschriftungen, so dass die Spalten sind:

['Land', 'Energieversorgung', 'Energie-Versorgung pro Kopf', '% Erneuerbare']
Konvertieren Energieversorgung gigajoule (es 1.000.000 gigajoule in petajoule). Für alle Länder, die fehlenden Daten (z.B. Daten, die mit "...") stellen Sie sicher, dass diese sich als np.NaN-Werte.

Benennen Sie die folgende Liste der Länder (für spätere Fragen):
"Republik Korea": "Südkorea",
"USA": "USA",
"Vereinigtes Königreich von Großbritannien und Nord-Irland": "Vereinigtes Königreich",
"China, Hong Kong Special Administrative Region": "Hong Kong"

Es gibt auch mehrere Länder mit zahlen und/oder die Klammer in Ihren Namen haben. Sicher sein, um diese zu entfernen,
z.B.
'Bolivien (plurinationaler Staat)' sollte 'Bolivien',
'Switzerland17' sollte 'Schweiz'.

Nächste, laden Sie die BIP-Daten aus der Datei world_bank.csv, die csv mit Länder-Kopf-BIP von 1960 bis 2015 von der Weltbank. Rufen Sie das DataFrame BIP.
Stellen Sie sicher, dass überspringen Sie die Kopfzeile, und benennen Sie die folgende Liste von Ländern:
"Korea, Republik": "Südkorea",
"Iran, Islamische Republik": "Iran",
"Hong Kong SAR, China": "Hong Kong"

Anschließend laden Sie die Sciamgo Journal and Country Rank Daten für Energie-Engineering-und Power-Technologie aus der Datei scimagojr-3.xlsx, was zählt Länder, basierend auf deren journal-Beiträge in den vorgenannten Bereich. Rufen Sie das DataFrame ScimEn.

Gemeinsam mit den drei Datensätzen: BIP, Energie und ScimEn in eine neue Datei (mit dem Schnittpunkt von Ländernamen). Verwenden Sie nur die letzten 10 Jahre (2006-2015) von BIP-Daten und nur die top-15-Ländern Scimagojr 'Rang' (Rang 1 bis 15).

Den index dieser DataFrame sollte der name des Landes, und die Spalten werden sollten ['Rang', 'Dokumente', 'Zitierbaren Dokumente', 'Zitate', 'Selbst-Zitationen', 'Zitationen pro Dokument", "H-index", "Energy Supply", " Energy Supply pro-Kopf -', '% Erneuerbare', '2006', '2007', '2008', '2009', '2010', '2011', '2012', '2013', '2014', '2015'].

Diese Funktion zurückkehren sollte, ein DataFrame mit 20 Spalten und 15 Einträge.

Habe ich versucht den folgenden code für diese Frage, aber es ist wieder nur 12 Zeilen statt 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()
InformationsquelleAutor prajval shet | 2017-02-04
Schreibe einen Kommentar