Mam taki arkusz kalkulacyjny:
Locality 2005 2006 2007 2008 2009
ABBOTSFORD 427000 448000 602500 600000 638500
ABERFELDIE 534000 600000 735000 710000 775000
AIREYS INLET459000 440000 430000 517500 512500
Nie chcę ręcznie zamieniać kolumny z wierszem. Czy byłoby możliwe użycie pand odczytujących dane do listy w ten sposób:
data['ABBOTSFORD']=[427000,448000,602500,600000,638500]
data['ABERFELDIE']=[534000,600000,735000,710000,775000]
data['AIREYS INLET']=[459000,440000,430000,517500,512500]
Odpowiedzi:
Tak, za pomocą set_index możesz utworzyć
Locality
indeks wiersza.Jeśli
inplace=True
nie jest podana,set_index
zwraca jako wynik zmodyfikowaną ramkę danych.Przykład:
źródło
Możesz zmienić indeks, jak wyjaśniono już przy użyciu
set_index
. Nie musisz ręcznie zamieniać wierszy z kolumnami,data.T
w pandach jest metoda transpose ( ), która robi to za Ciebie:następnie możesz pobrać wartości z kolumny dataframe i przekształcić je w listę:
źródło
Możesz ustawić indeks kolumny za pomocą parametru index_col dostępnego podczas czytania z arkusza kalkulacyjnego w Pandas.
Oto moje rozwiązanie:
Po pierwsze, zaimportuj pandy jako pd:
import pandas as pd
Wczytaj nazwę pliku za pomocą pd.read_excel () (jeśli masz dane w arkuszu kalkulacyjnym) i ustaw indeks na „Lokalność”, określając parametr index_col.
df = pd.read_excel('testexcel.xlsx', index_col=0)
Jeśli na tym etapie pojawi się błąd „brak modułu o nazwie xlrd”, zainstaluj go za pomocą
pip install xlrd
.W celu oględzin, przeczytaj ramkę danych, za pomocą
df.head()
której wydrukuje się następujący wynikTeraz możesz pobrać wartości żądanych kolumn ramki danych i wydrukować je
źródło