Ich habe eine Tabelle wie diese:
Locality 2005 2006 2007 2008 2009
ABBOTSFORD 427000 448000 602500 600000 638500
ABERFELDIE 534000 600000 735000 710000 775000
AIREYS INLET459000 440000 430000 517500 512500
Ich möchte die Spalte nicht manuell mit der Zeile austauschen. Könnte es möglich sein, Pandas zu verwenden, die Daten in einer Liste wie folgt lesen:
data['ABBOTSFORD']=[427000,448000,602500,600000,638500]
data['ABERFELDIE']=[534000,600000,735000,710000,775000]
data['AIREYS INLET']=[459000,440000,430000,517500,512500]
Antworten:
Ja, mit set_index können Sie
Locality
Ihren Zeilenindex erstellen .Wenn
inplace=True
nicht angegeben, wirdset_index
der geänderte Datenrahmen als Ergebnis zurückgegeben.Beispiel:
quelle
Sie können den Index wie bereits erläutert ändern
set_index
. Sie müssen Zeilen nicht manuell mit Spaltendata.T
austauschen. In Pandas gibt es eine transpose ( ) -Methode, die dies für Sie erledigt:Anschließend können Sie die Datenrahmenspaltenwerte abrufen und in eine Liste umwandeln:
quelle
Sie können den Spaltenindex mithilfe des Parameters index_col festlegen , der beim Lesen aus der Tabelle in Pandas verfügbar ist.
Hier ist meine Lösung:
Importieren Sie zunächst Pandas als pd:
import pandas as pd
Lesen Sie den Dateinamen mit pd.read_excel () ein (wenn Sie Ihre Daten in einer Tabelle haben) und setzen Sie den Index durch Angabe des Parameters index_col auf 'Lokalität'.
df = pd.read_excel('testexcel.xlsx', index_col=0)
Wenn in diesem Stadium der Fehler "Kein Modul mit dem Namen xlrd" angezeigt wird, installieren Sie ihn mit
pip install xlrd
.Lesen Sie zur visuellen Überprüfung den Datenrahmen, mit
df.head()
dem die folgende Ausgabe gedruckt wirdJetzt können Sie die Werte der gewünschten Spalten des Datenrahmens abrufen und drucken
quelle