panda's

Panda's read_csv Zelfstudie

Panda's read_csv Zelfstudie

Panda's .read_csv

Ik heb al een deel van de geschiedenis en het gebruik van de Python-bibliotheekpanda's besproken.  pandas is ontworpen vanuit de behoefte aan een efficiënte bibliotheek voor financiële gegevensanalyse en manipulatie voor Python.  Panda's bieden twee methoden om gegevens te laden voor analyse en manipulatie:, DataReader en read_csv.  Ik heb de eerste hier behandeld.  Dit laatste is het onderwerp van deze tutorial.

.read_csv

Er is een groot aantal gratis gegevensopslagplaatsen online die informatie over verschillende velden bevatten.  Ik heb een aantal van die bronnen opgenomen in de sectie referenties hieronder.  Omdat ik de ingebouwde API's voor het efficiënt ophalen van financiële gegevens hier heb gedemonstreerd, zal ik in deze zelfstudie een andere gegevensbron gebruiken.

Gegevens.gov biedt een enorme selectie gratis gegevens over alles, van klimaatverandering tot U.S. productiestatistieken.  Ik heb twee datasets gedownload voor gebruik in deze tutorial.  De eerste is de gemiddelde dagelijkse maximumtemperatuur voor Bay County, Florida. Deze gegevens zijn gedownload van de U.S. Climate Resilience Toolkit voor de periode van 1950 tot heden.

De tweede is de Commodity Flow Survey die de wijze en het volume van de invoer in het land meet over een periode van 5 jaar.

Beide links voor deze datasets vindt u in de sectie met verwijzingen hieronder:.  De .read_csv methode, zoals duidelijk is uit de naam, zal deze informatie laden vanuit een CSV-bestand en een instant DataFrame uit die dataset.

Gebruik

Elke keer dat u een externe bibliotheek gebruikt, moet u Python vertellen dat deze moet worden geïmporteerd.  Hieronder staat de regel code die de panda-bibliotheek importeert.

panda's importeren als pd

Het basisgebruik van de .read_csv methode is hieronder:.  Dit instantieert en vult een DataFrame df met de informatie in het CSV-bestand.

df = pd.read_csv('12005-annual-hist-obs-tasmax.csv')

Door nog een paar regels toe te voegen, kunnen we de eerste en laatste 5 regels van het nieuw gemaakte DataFrame inspecteren.

df = pd.read_csv('12005-annual-hist-obs-tasmax.csv')
print(df.hoofd(5))
print(df.staart(5))

De code heeft een kolom voor het jaar geladen, de gemiddelde dagelijkse temperatuur in Celsius (tasmax), en een 1-gebaseerd indexeringsschema geconstrueerd dat voor elke regel met gegevens wordt verhoogd.    Het is ook belangrijk op te merken dat de koppen worden ingevuld vanuit het bestand.  Met het basisgebruik van de hierboven gepresenteerde methode, wordt aangenomen dat de headers op de eerste regel van het CSV-bestand staan.  Dit kan worden gewijzigd door een andere set parameters aan de methode door te geven.

Parameters: 

Ik heb de link naar de panda's gegeven .read_csv documentatie in de onderstaande referenties:.  Er zijn verschillende parameters die kunnen worden gebruikt om de manier te wijzigen waarop de gegevens worden gelezen en geformatteerd in de DataFrame.

Er zijn een behoorlijk aantal parameters voor de .read_csv methode.  De meeste zijn niet nodig omdat de meeste datasets die u downloadt een standaardindeling hebben.  Dat zijn kolommen op de eerste rij en een kommascheidingsteken.

Er zijn een aantal parameters die ik in de tutorial zal benadrukken, omdat ze nuttig kunnen zijn.  Een uitgebreidere enquête kan worden genomen op de documentatiepagina.

index_col

index_col is een parameter die kan worden gebruikt om de kolom aan te geven die de index bevat.  Sommige bestanden kunnen een index bevatten en andere niet.  In onze eerste dataset liet ik python een index maken.  Dit is de standaard .read_csv gedrag.

In onze tweede dataset is een index opgenomen. De onderstaande code laadt de DataFrame met de gegevens in het CSV-bestand, maar in plaats van een incrementele op gehele getallen gebaseerde index te maken, wordt de kolom SHPMT_ID gebruikt die is opgenomen in de gegevensset.

df = pd.read_csv('cfs_2012_pumf_csv.txt', index_col = 'SHIPMT_ID')
print(df.hoofd(5))
print(df.staart(5))

Hoewel deze dataset hetzelfde schema voor de index gebruikt, hebben andere datasets mogelijk een meer bruikbare index.

nrows, skiprows, usecols

Bij grote datasets wil je misschien alleen delen van de data laden.  De nrows, skiprows, en gebruikcols parameters stellen u in staat om de gegevens in het bestand te segmenteren.

df = pd.read_csv('cfs_2012_pumf_csv.txt', index_col= 'SHIPMT_ID', nrows = 50)
print(df.hoofd(5))
print(df.staart(5))

Door het toevoegen van de nrows parameter met een geheel getal van 50, de .staartoproep retourneert nu lijnen tot 50.  De rest van de gegevens in het bestand worden niet geïmporteerd.

df = pd.read_csv('cfs_2012_pumf_csv.txt', overslaan = 1000)
print(df.hoofd(5))
print(df.staart(5))

Door het toevoegen van de skiprows parameter, onze .hoofd col toont geen beginindex van 1001 in de gegevens.  Omdat we de koprij hebben overgeslagen, hebben de nieuwe gegevens de koptekst en de index verloren op basis van de bestandsgegevens.  In sommige gevallen is het misschien beter om uw gegevens in een DataFrame in plaats van voordat de gegevens worden geladen.

De gebruikcols is een nuttige parameter waarmee u slechts een subset van de gegevens per kolom kunt importeren.  Er kan een nulde index worden doorgegeven of een lijst met strings met de kolomnamen.  Ik heb de onderstaande code gebruikt om de eerste vier kolommen in onze nieuwe DataFrame.

df = pd.read_csv('cfs_2012_pumf_csv.tekst',
index_col = 'SHIPMT_ID',
nrows = 50, usecols = [0,1,2,3] )
print(df.hoofd(5))
print(df.staart(5))

Van onze nieuwe .hoofd bel, onze DataFrame bevat nu alleen de eerste vier kolommen van de dataset.

motor

Een laatste parameter die volgens mij in sommige datasets van pas zou komen, is de motor parameter.  U kunt de op C gebaseerde engine of de op Python gebaseerde code gebruiken.  De C-motor zal natuurlijk sneller zijn.  Dit is belangrijk als u grote datasets importeert.  De voordelen van de Python-parsing zijn een uitgebreidere set.  Dit voordeel kan minder betekenen als u big data in het geheugen laadt.

df = pd.read_csv('cfs_2012_pumf_csv.tekst',
index_col = 'SHIPMT_ID', engine = 'c' )
print(df.hoofd(5))
print(df.staart(5))

Opvolgen

Er zijn verschillende andere parameters die het standaardgedrag van de .read_csv methode.  Ze zijn te vinden op de pagina met documenten waarnaar ik hieronder verwees.  .read_csv is een handige methode om datasets in panda's te laden voor data-analyse.  Omdat veel van de gratis datasets op internet geen API's hebben, zal dit het nuttigst blijken voor toepassingen buiten financiële gegevens waar robuuste API's aanwezig zijn om gegevens in panda's te importeren.

Referenties

https://panda's.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html
https://www.gegevens.regering/
https://toolkit.klimaat.gov/#climate-explorer
https://www.volkstelling.gov/econ/cfs/pums.html

Met WinMouse kunt u de beweging van de muisaanwijzer op Windows-pc aanpassen en verbeteren
Als u de standaardfuncties van uw muisaanwijzer wilt verbeteren, gebruik dan freeware WinMuis. Het voegt meer functies toe om u te helpen het meeste u...
Linkermuisknop werkt niet op Windows 10
Als u een speciale muis gebruikt met uw laptop of desktopcomputer, maar de linkermuisknop werkt niet not op Windows 10/8/7 om wat voor reden dan ook, ...
Cursor springt of beweegt willekeurig tijdens het typen in Windows 10
Als u merkt dat uw muiscursor vanzelf springt of beweegt, automatisch, willekeurig tijdens het typen op een Windows-laptop of -computer, dan kunnen en...