Pande .read_csv
O neki zgodovini in uporabi pand knjižnice Python sem že razpravljal. pandas je bil zasnovan zaradi potrebe po učinkoviti knjižnici za analizo in manipulacijo finančnih podatkov za Python. Za nalaganje podatkov za analizo in manipulacijo pande ponujajo dve metodi, DataReader in read_csv. Tu sem zajel prvo. Slednje je predmet te vaje.
.read_csv
V spletu obstaja veliko število brezplačnih skladišč podatkov, ki vključujejo informacije na različnih področjih. Nekatere od teh virov sem vključil v spodnji odsek za reference. Ker sem predstavil vgrajene API-je za učinkovito vlečenje finančnih podatkov sem, bom v tej vadnici uporabil še en vir podatkov.
Podatki.gov ponuja veliko izbiro brezplačnih podatkov o vsem, od podnebnih sprememb do U.S. statistika proizvodnje. Za uporabo v tej vadnici sem prenesel dva nabora podatkov. Prva je povprečna dnevna najvišja temperatura za okrožje Bay na Floridi. Ti podatki so bili preneseni iz U.S. Priročnik o podnebni odpornosti za obdobje od 1950 do danes.
Druga je raziskava blagovnih tokov, ki meri način in obseg uvoza v državo v obdobju 5 let.
Obe povezavi za ta niz podatkov sta na voljo v spodnjem razdelku sklicev. The .read_csv metoda, kot je razvidno iz imena, bo te podatke naložila iz datoteke CSV in ustvarila datoteko DataFrame iz tega nabora podatkov.
Uporaba
Vsakič, ko uporabljate zunanjo knjižnico, morate Pythonu povedati, da jo je treba uvoziti. Spodaj je vrstica kode, ki uvozi knjižnico pand.
uvozi pande kot pdOsnovna uporaba .read_csv metoda spodaj. To ustvari in zapolni a DataFrame df z informacijami v datoteki CSV.
df = pd.read_csv ('12005-letna-zgodovina-obs-tasmax.csv ')Če dodamo še nekaj vrstic, lahko pregledamo prvih in zadnjih 5 vrstic iz novo ustvarjenega DataFrame.
df = pd.read_csv ('12005-letna-zgodovina-obs-tasmax.csv ')tiskanje (df.glava (5))
tiskanje (df.rep (5))
Koda je naložila stolpec za leto, povprečno dnevno temperaturo v Celzijusu (tasmax) in izdelala indeksno shemo na osnovi 1, ki se poveča za vsako vrstico podatkov. Pomembno je tudi omeniti, da so glave v datoteki izpolnjene. Z osnovno uporabo zgoraj predstavljene metode se sklepa, da so glave v prvi vrstici datoteke CSV. To lahko spremenite tako, da metodi posredujete drugačen nabor parametrov.
Parametri
Navedel sem povezavo do pand .read_csv dokumentacijo v spodnjih referencah. Obstaja več parametrov, s katerimi lahko spremenite način branja in formatiranja podatkov v DataFrame.
Obstaja lepo število parametrov za .read_csv metoda. Večina jih ni potrebna, ker ima večina naborov podatkov, ki jih prenesete, v standardni obliki. To so stolpci v prvi vrstici in ločilo z vejico.
Obstaja nekaj parametrov, ki jih bom poudaril v vadnici, ker so lahko koristni. Izčrpnejšo anketo lahko dobite na strani z dokumentacijo.
index_col
index_col je parameter, s katerim lahko označimo stolpec, ki vsebuje indeks. Nekatere datoteke lahko vsebujejo indeks, nekatere pa ne. V našem prvem naboru podatkov sem pustil, da python ustvari indeks. To je standard .read_csv vedenje.
V našem drugem naboru podatkov je vključen indeks. Spodnja koda naloži DataFrame s podatki v datoteki CSV, vendar namesto ustvarjanja inkrementalnega celoštevilskega indeksa uporablja stolpec SHPMT_ID, vključen v nabor podatkov.
df = pd.read_csv ('cfs_2012_pumf_csv.txt ', index_col =' SHIPMT_ID ')tiskanje (df.glava (5))
tiskanje (df.rep (5))
Medtem ko ta nabor podatkov za indeks uporablja isto shemo, imajo lahko drugi nabori podatkov bolj uporaben indeks.
nrows, smuprows, usecols
Pri velikih naborih podatkov boste morda želeli naložiti le dele podatkov. The nrows, smučišča, in usecols parametri vam omogočajo rezanje podatkov, vključenih v datoteko.
df = pd.read_csv ('cfs_2012_pumf_csv.txt ', index_col =' SHIPMT_ID ', nrows = 50)tiskanje (df.glava (5))
tiskanje (df.rep (5))
Z dodajanjem nrows parameter s celoštevilsko vrednostjo 50, .tail call zdaj vrne vrstice do 50. Preostali podatki v datoteki niso uvoženi.
df = pd.read_csv ('cfs_2012_pumf_csv.txt ', skiprows = 1000)
tiskanje (df.glava (5))
tiskanje (df.rep (5))
Z dodajanjem smučišča parameter, naš .glavo col v podatkih ne prikazuje začetnega indeksa 1001. Ker smo preskočili vrstico z glavo, so novi podatki izgubili glavo in indeks na podlagi podatkov datoteke. V nekaterih primerih je morda bolje podatke razrezati v DataFrame namesto pred nalaganjem podatkov.
The usecols je uporaben parameter, ki vam omogoča uvoz samo podnabora podatkov po stolpcih. Lahko se mu posreduje ničli indeks ali seznam nizov z imeni stolpcev. Spodnjo kodo sem uporabil za uvoz prvih štirih stolpcev v naš novi DataFrame.
df = pd.read_csv ('cfs_2012_pumf_csv.txt ',index_col = 'SHIPMT_ID',
nrows = 50, usecols = [0,1,2,3])
tiskanje (df.glava (5))
tiskanje (df.rep (5))
Od našega novega .glavo pokliči, naš DataFrame zdaj vsebuje samo prve štiri stolpce iz nabora podatkov.
motor
Zadnji parameter, za katerega menim, da bi bil pri nekaterih naborih podatkov še kako koristen, je motor parameter. Uporabite lahko motor na osnovi C ali kodo na osnovi Pythona. Motor C bo seveda hitrejši. To je pomembno, če uvozite velike nabore podatkov. Prednosti razčlenjevanja Pythona so bolj bogat nabor funkcij. Ta prednost lahko pomeni manj, če v pomnilnik nalagate velike podatke.
df = pd.read_csv ('cfs_2012_pumf_csv.txt ',index_col = 'SHIPMT_ID', motor = 'c')
tiskanje (df.glava (5))
tiskanje (df.rep (5))
Nadaljevanje
Obstaja več drugih parametrov, ki lahko podaljšajo privzeto vedenje .read_csv metoda. Najdete jih na strani z dokumenti, ki sem jo navedel spodaj. .read_csv je uporabna metoda za nalaganje naborov podatkov v pande za analizo podatkov. Ker številni brezplačni nabori podatkov v internetu nimajo API-jev, se bo to izkazalo za najkoristnejše za aplikacije zunaj finančnih podatkov, kjer obstajajo robustni API-ji za uvoz podatkov v pande.
Reference
https: // pande.pydata.org / pandas-docs / stable / generated / pandas.read_csv.html
https: // www.podatkov.vlada /
https: // komplet orodij.podnebje.gov / # podnebni raziskovalec
https: // www.popis.gov / econ / cfs / pums.html