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()
- Eine Frage auf Zeit. Dumping alle Ihre Fragen in einer Frage gibt schlechte Lesbarkeit. Es verbessern. Lesen Sie stellen, und erstellen Sie eine minimale reproduzierbare Beispiel.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bitte Fragen Sie Ihre Frage. Jedoch, ich kam mit einer Lösung für einige der Fragen oben. Laden Sie excel-Datei mit
ex = pd.ExcelFile('Yourfilename.xls')
und dann überprüfen Sie Ihre Blattnamen in der excel-Datei mitex.sheet_name
.als Nächstes können Sie die folgenden zu Lesen, dass die Platte die Sie haben in Ihrer excel-Datei,
dann können Sie ersetzen die Sonderzeichen mithilfe der folgenden syntax
nun können Sie Ihre dataframe ' s Kopf zu sehen und dann prüfen, wie viele Zeilen, die Sie noch haben, zu überspringen und andere details.
drop die Spalten, können Sie die folgende syntax verwenden
Das ist es für jetzt aus die große Frage. Die Arbeit an diesem und wenn Sie das tut, was Sie wollen, ist die Antwort für die Teile zu Lesen, excel-Datei, Zeilen überspringen, ersetzen, NaN und Spalten überspringen.