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.