Tietojen puhdistaminen Pythonilla ja Pandasilla
Data on kuin päätöksenteon rakennuspalikoita nykyään. Mutta kuvittele, että sinulla on ryhmä erimuotoisia ja -kokoisia palikoita tästä kokoelmasta; on vaikeaa rakentaa mitään merkityksellistä. Tässä auttaa tietojen puhdistus.
Tämä opas tutkii, kuinka tiedot voidaan puhdistaa Pythonin Panda-kehyksen avulla päätöksenteon parantamiseksi. Tietojen puhdistaminen on myös välttämätöntä, kun otetaan huomioon, että työskentelemme kaupan myyntitietueiden luettelon kanssa. Saatamme huomata luettelosta puuttuvia numeroita, outoja päivämääriä ja toistuvia kohteita ilman syytä. Jos teemme laskelmia tai tallenteita näiden tietojen perusteella, nämä ongelmat voivat sotkea laskelmiamme ja ennusteitamme. Tietojen puhdistus auttaa korjaamaan nämä ongelmat ja varmistamaan, että tietomme ovat tarkkoja ja valmiita käyttöön.
Tietojen puhdistukseen kuuluu puuttuvien tietojen käsittely ja mitä tehdä, kun tietoja puuttuu, kaksoiskappaleiden poistaminen, kopioiduista asioista eroon pääseminen, tietotyyppien korjaaminen, sen varmistaminen, että kaikki on oikeassa muodossa ja poikkeavien tai numeroiden käsittely. Nämä virheet saavat tiedot näyttämään samalta ja standardisoivat sen, miten tiedot näkyvät.
Aloita varmistamalla, että Python ja Pandas on asennettu. Voimme tehdä tämän kirjoittamalla komennot tietokoneemme päätteeseen tai komentokehotteeseen. Tässä oppaassa mainittujen koodien toteuttamiseksi saatamme käyttää järjestelmäämme asennettua Python Pycharm IDE:tä tai Python-verkkoalustaa, joka on 'Google Colab', ja asentaa 'pip'-komennot tärkeiden kirjastojen asentamiseksi.
Tuodaan nyt Pandat ja ladataan näytetietomme. Tässä esimerkissä käytämme Google Colabia koodien suorittamiseen. Joten tuomme ensin Pandat kirjoittamalla seuraavan komennon:
! pip asentaa pandat
tuonti pandat kuten pd
tuonti nuhjuinen kuten esim.
Sitten lataamme näytettävän tietojoukon pd.read()-menetelmällä, joka ottaa tiedoston polun syöttöparametrikseen.
# Lataa tietojoukkotiedot = pd. read_csv ( '/content/sample_data/california_housing_test.csv' )
# Näytä ensimmäiset rivit
Tulosta ( tiedot. pää ( ) )
Seuraavassa esimerkissä käytämme tietoja pienen myymälän myynnistä. Puuttuvien tietojen käsittelemiseksi tiedot puuttuvat joskus tiedoistamme. Kutsumme näitä puuttuvia osia nimellä 'NaN' (joka tarkoittaa 'ei numeroa'). Löytääksemme nämä puuttuvat arvot Python-komentosarjassa lataamme ensin tietojoukon kuten teimme edellisessä esimerkissä. Sitten löydämme tietojoukosta puuttuvat arvot käyttämällä funktiota 'missing_values = data.isnull().sum()'. Tämä toiminto löytää kaikki puuttuvat arvot tietojoukosta. Sitten näytämme ne käyttämällä print () -toimintoa.
! pip asentaa pandattuonti pandat kuten pd
tuonti nuhjuinen kuten esim.
# Lataa tietojoukko
tiedot = pd. read_csv ( '/content/sample_data/california_housing_test.csv' )
# Näytä ensimmäiset rivit
Tulosta ( tiedot. pää ( ) )
# Tarkista puuttuvat arvot
puuttuvat_arvot = tiedot. isnull ( ) . summa ( )
# Näytä puuttuvat arvot sarakkeittain
Tulosta ( puuttuvat_arvot )
Kun löydämme puuttuvia tietoja miltä tahansa riviltä, joka suorittaa aiemmin mainitun koodin, voimme poistaa kyseiset rivit, koska niillä ei ole paljon hyödyllistä tietoa. Voimme jopa arvata puuttuvat arvot ja täyttää tyhjät kohdat valistuneilla arvauksilla arvioimalla aikaperusteiset tiedot lähipisteiden perusteella.
Nyt poistamme kaksoiskappaleet, jotka ovat kopioita samasta asiasta, koska ne voivat hämmentää analyysiämme. Tietojoukon kaksoisarvojen löytämiseksi käytämme funktiota 'duplicate_rows = data[data.duplicated()]'. Pudottaaksemme nämä päällekkäiset arvot kutsumme data.drop_duplicates()-funktiota. Voimme löytää ja poistaa ne käyttämällä seuraavaa koodia:
! pip asentaa pandattuonti pandat kuten pd
tuonti nuhjuinen kuten esim.
# Lataa tietojoukko
tiedot = pd. read_csv ( '/content/sample_data/california_housing_test.csv' )
# Näytä ensimmäiset rivit
Tulosta ( tiedot. pää ( ) )
# Tarkista päällekkäiset rivit
kaksoisrivit = tiedot [ tiedot. monistettu ( ) ]
# Poista kaksoiskappaleet
tiedot = tiedot. drop_duplicates ( )
# Näytä ensimmäiset rivit kaksoiskappaleiden poistamisen jälkeen
Tulosta ( tiedot. pää ( ) )
Tietotyypit määräävät, mitä tietoja voidaan tallentaa tietotyyppien korjaamiseksi. On tärkeää, että jokaiselle datatyypille on oikea tyyppi. Esimerkiksi päivämäärillä tulee olla päivämäärän ja kellonajan tietotyyppi, ja numeroiden tulee olla tietotyypeissä, kuten int, float jne. Tietojemme tietotyyppien tarkistamiseksi käytämme 'data.dtypes'-funktiota. Tätä toimintoa voidaan käyttää seuraavalla tavalla:
! pip asentaa pandattuonti pandat kuten pd
tuonti nuhjuinen kuten esim.
# Lataa tietojoukko
tiedot = pd. read_csv ( '/content/sample_data/california_housing_test.csv' )
# Näytä ensimmäiset rivit
Tulosta ( tiedot. pää ( ) )
# Tarkista kunkin sarakkeen tietotyypit
data_types = tiedot. dtypes
# Näytä tietotyypit
Tulosta ( data_types )
Jos havaitsemme ongelmia, voimme muuttaa tietotyyppiä Pandan avulla. Voimme esimerkiksi muuttaa päivämäärät päivämäärämuotoon. DataFramen dtypes-attribuutti antaa tietoja kunkin sarakkeen tietotyypeistä. Jos huomaamme, että tietotyyppi ei täsmää, voimme käyttää Pandasin astype()-funktiota sarakkeiden muuntamiseen haluttuihin tyyppeihin.
Tietotyyppien jälkeen kohtaamme joskus poikkeavia arvoja, jotka ovat hyvin erilaisia kuin muut arvot. Ne voivat sotkea laskelmamme. Poikkeamien käsittelemiseksi määrittelemme funktion, joka käyttää 'np.abs(stats.zscore(data))' z-score-funktiota, joka vertaa tiedoissamme olevia arvoja kynnysarvoon. Kaikki muut arvot kuin tämän kynnysarvon vaihteluvälit katsotaan poikkeavaksi arvoksi . Katsotaanpa, miten poikkeamat löydetään ja käsitellään:
! pip asentaa pandattuonti pandat kuten pd
tuonti nuhjuinen kuten esim.
# Lataa tietojoukko
tiedot = pd. read_csv ( '/content/sample_data/california_housing_test.csv' )
# Näytä ensimmäiset rivit
Tulosta ( tiedot. pää ( ) )
alkaen scipy tuonti tilastot
def detect_outliers ( tiedot ) :
z_scores = esim. abs ( tilastot. zscore ( tiedot ) )
palata esim. missä ( z_scores > 3 )
# Havaitse ja käsittele poikkeamat Myynti-sarakkeessa
poikkeamat = detect_outliers ( tiedot [ 'pituusaste' ] )
tiedot [ 'pituusaste' ] . paikka [ poikkeamat ] = tiedot [ 'pituusaste' ] . mediaani ( )
# Havaitse ja käsittele poikkeamat Myydyt yksiköt -sarakkeessa
poikkeamat = detect_outliers ( tiedot [ 'leveysaste' ] )
tiedot [ 'leveysaste' ] . paikka [ poikkeamat ] = tiedot [ 'leveysaste' ] . mediaani ( )
# Näytä ensimmäiset rivit poikkeamien käsittelyn jälkeen
Tulosta ( tiedot. pää ( ) )
Etsimme ja korjaamme edellisen koodin poikkeamat yksinkertaisella menetelmällä. Se sisältää ääriarvojen korvaamisen datan keskiarvolla. Tämä koodi käyttää Z-pistemenetelmää poikkeamien havaitsemiseen tietojoukkomme 'pituusaste'- ja 'leveysaste'-sarakkeissa. Outliers korvataan vastaavien sarakkeiden mediaaniarvoilla.
Jotta tiedot näyttäisivät samalta, tiedot voivat joskus näyttää erilaisilta, vaikka ne tarkoittaisivat samaa asiaa. Esimerkiksi päivämäärät voidaan kirjoittaa eri muodoissa. Standardointiin kuuluu yhtenäisen datamuodon ja esityksen varmistaminen. Tämä voi sisältää päivämäärien muotoilun, tekstin muuntamisen pienillä kirjaimilla tai numeroarvojen normalisoinnin. Standardoidaan tietojoukkomme Päivämäärä-sarake ja varmistetaan, että tietomme näyttävät samalta:
tuonti pandat kuten pdtuonti nuhjuinen kuten esim. # Tuo numpy
# Lataa tiedot
tiedot = pd. read_csv ( 'sales_data.csv' )
# Tee Päivämäärä-sarakkeesta yhdenmukainen
tiedot [ 'Päivämäärä' ] = pd. to_datetime ( tiedot [ 'Päivämäärä' ] )
# Katso miltä se näyttää nyt
Tulosta ( tiedot. pää ( ) )
Tässä esimerkissä standardoimme tietojoukkomme päivämäärämuodon Pythonin päivämäärä-ajan muotoon käyttämällä 'pd.to_datetime(data['Date'])'-funktiota. Muuttamalla Päivämäärä-sarakkeen samaan muotoon helpotamme näiden tietojen käsittelyä. Tulos näyttää tietojoukon ensimmäiset rivit standardoidulla 'Päivämäärä'-sarakkeella.
Johtopäätös
Matkallamme tietojen puhdistamiseen Pythonilla ja Pandailla opimme parantamaan dataamme analysointia varten. Aloitimme ymmärtämällä, miksi tietojen puhdistaminen on niin tärkeää. Se auttaa meitä tekemään parempia päätöksiä. Tutkimme, kuinka käsitellä puuttuvia tietoja, poistaa kaksoiskappaleet, korjata tietotyypit, käsitellä poikkeavia ja saada tietomme näyttämään samalta. Näiden taitojen avulla olemme paremmin valmistautuneita muuttamaan sotkuista dataa joksikin, johon voimme luottaa ja jonka avulla voimme löytää tärkeitä tietoja. Tietojen puhdistus on jatkuva prosessi, kuten huoneemme siistinä pitäminen, ja se tekee data-analyysimatkastamme onnistuneemman.