Suuret tietovarat ovat sotkuisia, varsinkin kun ne on haettava verkkosivustoilta, palvelimilta tai muista tietolähteistä.
Käyttöliittymäpohjaiset sovellukset, kuten MS Excel, sopivat hyvin yksinkertaisten tietojoukkojen käsittelyyn, mutta voivat kamppailla, kun data kasvaa. Tämä on hyvä syy siirtyä Pythoniin suorittamaan monimutkaisempia tietopohjaisia toimintoja.
Pythonin kolmannen osapuolen kirjasto, Pandas, auttaa sinua lajittelemaan olemassa olevat tietojoukot nopeasti. Jos haluat lajitella tietosi Pythonissa, tässä artikkelissa tarkastellaan muutamia tapoja saavuttaa tämä tehtävä.
Edellytykset Pythonin käyttämiselle tietojen lajittelussa
Ennen kuin lajittelet tietoja Pythonissa, sinun on huolehdittava muutamasta edellytyksestä:
- Lataa Python IDE. Voit käyttää a Python-yhteensopiva IDE, kuten Jupyter Notebook, PyCharm ja Spyder. Jokainen näistä on yhteensopiva kaikkien Python-versioiden kanssa.
- Asenna pandat. Tarvitset pandapaketin, jonka voit asenna PIP: n avulla tai valitsemaasi menetelmää.
- Esimerkkitietojoukko. Lataa a näytetietojoukko harjoitella lueteltuja koodeja. Vaihtoehtoisesti voit käyttää näitä toimenpiteitä yksinomaisille tiedoillesi.
Pandas-kirjaston tuonti Pythonissa
Pandas on kolmannen osapuolen Python-kirjasto, jonka avulla voit käsitellä Excel-, CSV- ja muita tietomuotoja.
Jos haluat käsitellä Excel-esimerkkitiedostoa, aloita tuomalla pandakirjasto. Tämän jälkeen käytät tuontimenettely lukeaksesi Excel-tiedot Pythoniin.
Kirjaston tuominen
tuonti pandat kuten pd
Luo uusi tietokehys Excel-tietojen lataamiseksi
tiedosto = "Näyte - Superstore.xls"
df = pd.read_excel (tiedosto)
df.pää()
Missä:
- df on DataFrame-objekti, joka tallentaa tuodut tiedot.
- pd on Pandas-kirjaston alias.
- lue_excel on tapa lukea Excel-tiedosto Pythoniin.
- tiedosto on polku Excel-tiedostoon.
- pää on menetelmä, joka palauttaa ensimmäiset viisi riviä DataFramesta.
Kun ohjelmasi on ladannut tiedot, voit käyttää monia saatavilla olevia DataFrame-menetelmiä lajitellaksesi niitä eri tavoilla.
1. Lajittelu yhden sarakkeen mukaan tietokehyksessä
Koska tiedoissasi on paljon rivejä ja sarakkeita, haluat usein lajitella tiedot tietyn sarakkeen tai sarakkeiden perusteella.
Python lajittelee tiedot oletusarvoisesti nousevaan järjestykseen. Jos haluat muuttaa lajittelujärjestystä, sinun on mainittava se erikseen koodissasi.
Lajittele yhden sarakkeen mukaan (nouseva järjestys)
df.sort_values (by = "Asiakas ID")
Lajittele yhden sarakkeen mukaan (laskevassa järjestyksessä)
Aseta nouseva parametrille Väärä lajitellaksesi sarakkeen laskevaan järjestykseen.
df.sort_values (by = "Asiakas ID", nouseva = False)
Missä:
- df on DataFrame-objekti, joka sisältää tiedot.
- lajittele_arvot on menetelmä tietojen arvojen lajitteluun.
- kirjoittaja on parametri, jolla määritetään sarakkeen nimi.
- nouseva on parametri, joka määrittää lajittelujärjestyksen.
2. Useiden sarakkeiden lajittelu tietokehyksessä
Jos vaatimukset sitä edellyttävät, voit myös lajitella DataFrame-kehyksesi useiden sarakkeiden perusteella kerralla. Tällaisessa tilanteessa sinun on määritettävä sarakeviitteet luettelossa.
Lajittele useiden sarakkeiden mukaan nousevasti
df.sort_values (by = ["Asiakas ID", "Kaupunki"])
Lajittele useiden sarakkeiden mukaan laskevasti
Käytä toimintoa nouseva = False lajitellaksesi sarakkeet laskevaan järjestykseen. Muista, että sinun on määritettävä luettelon sarakkeiden nimet, jotta voit lajitella ne samanaikaisesti.
df.sort_values (by = ["Asiakas ID", "Kaupunki"], nouseva = epätosi)
Lajittelu useiden sarakkeiden mukaan eri lajittelujärjestyksissä
Mitä tapahtuu, kun haluat lajitella yhden sarakkeen laskevaan ja toisen nousevaan järjestykseen, kun lajittelun perusteet ovat poissa? Sinun on säädettävä koodiasi hieman näiden vaatimusten sisällyttämiseksi.
Esimerkiksi lajitellaksesi Alue ja Kaupunki sarakkeet laskevassa ja nousevassa järjestyksessä:
df.sort_values (by = ["Alue", "Kaupunki"], nouseva = [False, True])
Tämän koodin selitys on yksinkertainen; määrität DataFrame-nimen ja välität sen lajittele_arvot funktio yhdessä luettelon sarakkeiden nimien kanssa. Sinun pitäisi käyttää Boolean arvot määrittääksesi lajittelujärjestyksen.
Toiminnon kutsuminen tällä tavalla tarkoittaa, että Python lajittelee ensin DataFramen aluesarakkeen mukaan laskevassa järjestyksessä. Tämän jälkeen rivit, joilla on identtinen alue, lajitellaan edelleen Kaupunki-sarakkeen mukaan nousevaan järjestykseen.
3. Tietokehyksen sarakkeiden lajittelu indeksin mukaan
Indeksimuuttuja on oletusarvo, joka on määritetty kullekin Python-tietokehyksen riville. Voit määrittää indeksiarvot tai antaa Pythonin asettaa indeksiarvon itse.
Voit lajitella tiedot sen indeksiarvon mukaan käyttämällä lajittele_indeksi toiminto. Tämä funktio lajittelee indeksin eikä alkuperäisen tietojoukon sisältämien arvojen perusteella.
df.sort_index()
Kuten lajitteluarvot, voit välittää arvon nouseva parametri määrittääksesi lajittelun suunnan. Anna esimerkiksi arvo Väärä lajitella tiedot laskevaan järjestykseen:
df.sort_index (nouseva = Väärä)
4. Sarakkeiden lajittelu tietokehykseen rivien sijaan
Sen sijaan, että lajittelisit rivit DataFramessa, voit lajitella sen sarakkeet. Voit tehdä sen kutsumalla sort_index-metodia ja välittämällä sen an akseli parametri, jonka arvo on 1:
df.sort_index (akseli=1)
Tässä vaiheessa DataFrame lajitellaan sarakkeidensa mukaan nousevaan järjestykseen. Jos haluat lajitella DataFramen sarakkeet laskevaan järjestykseen, voit määrittää lajittelujärjestyksen lajitteluvaiheessa.
df.sort_index (akseli=1, nouseva = Väärä)
5. Datakehyksen muokkaaminen lajittelun aikana
Nämä kaksi lajittelumenetelmää toimivat palauttamalla kopion alkuperäisistä tiedoista äskettäin lajiteltuna. Tallennustilan säästämiseksi tai tiiviimmän koodin kirjoittamiseksi voit muokata sen sijaan alkuperäisiä DataFrame-tietoja. Jokainen menetelmä hyväksyy an paikallaan boolean-parametri, joka muuttaa tietoja sen sijaan, että palauttaisi muokatun kopion.
df.sort_values (by = ["Asiakas ID", "Kaupunki"], nouseva = false, inplace = tosi)
Opi lajittelemaan tietoja Pythonissa
Python toistaa monia Excelin sisäänrakennettuja toimintoja muutamalla koodirivillä. Lajittelumenettelyistä monimutkaisten Pivot-taulukoiden luomiseen tiedoillesi, annat sille nimen, ja voit tehdä sen Pythonissa.
Jos olet vielä uusi Pythonissa ja opit köydet, nämä vaiheet parantavat koodaustaitojasi suhteellisen helposti.