Suured andmevarad on segased, eriti kui peate need hankima veebisaitidelt, serveritest või muudest andmeallikatest.

Kasutajaliidesepõhised rakendused, nagu MS Excel, sobivad hästi lihtsate andmekogumitega tegelemiseks, kuid võivad olla hädas, kui andmed suurenevad. See on hea põhjus, miks peaksite keerulisemate andmepõhiste toimingute tegemiseks Pythonile üle minema.

Pythoni kolmanda osapoole teek Pandas aitab teil olemasolevaid andmekogumeid kiiresti sortida. Kui soovite oma andmeid Pythonis sortida, vaatleme selles artiklis mõningaid viise selle ülesande saavutamiseks.

Eeltingimused Pythoni kasutamiseks andmete sortimiseks

Enne andmete sorteerimist Pythonis peate täitma mõned eeltingimused:

  • Laadige alla Pythoni IDE. Võite kasutada a Pythoniga ühilduv IDE, nagu Jupyter Notebook, PyCharm ja Spyder. Kõik need ühilduvad kõigi Pythoni versioonidega.
  • Installige pandad. Teil on vaja pandapaketti, mida saate installida kasutades PIP-i või teie eelistatud meetod.
  • Näidisandmekogum. Laadige alla a näidisandmekogum loetletud koode harjutada. Teise võimalusena saate neid protseduure kasutada oma eksklusiivsete andmete puhul.

Pandade raamatukogu importimine Pythonis

Pandas on kolmanda osapoole Pythoni teek, mida saate kasutada Exceli, CSV ja muude andmevormingute haldamiseks.

Exceli näidisfailiga töötamiseks alustage pandade teegi importimisest. Pärast seda kasutate impordiprotseduur Exceli andmete lugemiseks Pythoni.

Teegi importimiseks

importida pandad nagu pd

Looge Exceli andmete laadimiseks uus andmeraam

fail = "Näidis – Superstore.xls"
df = pd.read_excel (fail)
df.pea()

Kus:

  • df on DataFrame'i objekt, mis salvestab imporditud andmed.
  • pd on Pandase raamatukogu varjunimi.
  • loe_excel on meetod Exceli faili lugemiseks Pythoni.
  • faili on Exceli faili tee.
  • pea on meetod, mis tagastab DataFrame'i esimesed viis rida.

Kui teie programm on andmed laadinud, saate nende mitmel viisil sortimiseks kasutada paljusid saadaolevaid DataFrame'i meetodeid.

1. Andmeraamis ühe veeru järgi sortimine

Kuna teie andmetel on palju ridu ja veerge, soovite sageli andmeid sortida konkreetse veeru või veergude alusel.

Python sorteerib andmed vaikimisi kasvavas järjekorras. Kui soovite sortimisjärjekorda muuta, peate selle oma koodis selgelt mainima.

Sorteeri ühe veeru järgi (kasvav järjestus)

df.sort_values ​​(by = "Kliendi ID")

Sorteeri ühe veeru järgi (kahanevas järjekorras)

Määrake tõusev parameeter kuni Vale veeru kahanevas järjekorras sorteerimiseks.

df.sort_values ​​(by = "Kliendi ID", tõusev = vale)

Kus:

  • df on DataFrame'i objekt, mis sisaldab andmeid.
  • sorti_väärtused on meetod andmete väärtuste järgi sortimiseks.
  • kõrval on parameeter veeru nime määramiseks.
  • tõusev on sortimisjärjestuse määratlemise parameeter.

2. Mitme veeru sortimine andmeraamis

Kui teie nõuded seda nõuavad, saate oma DataFrame'i (-id) sortida ka mitme veeru alusel korraga. Sellise stsenaariumi korral peate veeruviited loendis määratlema.

Sorteeri mitme veeru järgi kasvavas järjekorras

df.sort_values ​​(by = ["Kliendi ID", "Linn"])

Sorteeri mitme veeru järgi kahanevalt

Kasutage funktsiooni tõusev = vale veergude sorteerimiseks kahanevas järjekorras. Pidage meeles, et nende üheaegseks sortimiseks peate määrama loendis olevate veergude nimed.

df.sort_values ​​(by = ["Kliendi ID", "Linn"], kasvav = vale)

Sorteerimine mitme veeru järgi erinevates sortimisjärjestustes

Mis juhtub, kui sorteerimise põhitõdesid ei ole, kui soovite sortida ühe veeru kahanevas ja teise kasvavas järjekorras? Nende nõuete kaasamiseks peate oma koodi veidi muutma.

Näiteks sorteerimiseks Piirkond ja Linn veerud vastavalt kahanevas ja kasvavas järjekorras:

df.sort_values ​​(by = ["Piirkond", "Linn"], kasvav = [Vale, Tõene])

Selle koodi selgitus on lihtne; määrate DataFrame'i nime ja edastate selle sorti_väärtused funktsiooni koos veergude nimedega loendis. Sa peaksid kasutama Boolean väärtusi sortimisjärjestuse määramiseks.

Funktsiooni selline kutsumine tähendab, et Python sorteerib kõigepealt DataFrame'i piirkonna veeru järgi kahanevas järjekorras. Seejärel sorteeritakse identse piirkonnaga read edasi veeru Linn järgi kasvavas järjekorras.

3. Kuidas sortida veerge andmeraamis indeksi järgi

Indeksi muutuja on Pythoni andmeraami igale reale määratud vaikeväärtus. Saate määrata indeksi väärtused või lasta Pythonil indeksi väärtuse ise määrata.

Andmete sortimiseks indeksi väärtuse järgi saate kasutada sorti_indeks funktsiooni. See funktsioon sorteerib pigem indeksi kui algses andmekogumis sisalduvate väärtuste alusel.

df.sort_index()

Nagu sorti_väärtuste puhul, saate edastada ka tõusev parameetri sortimise suuna määramiseks. Näiteks edastage väärtus Vale andmete sortimiseks kahanevas järjekorras:

df.sort_index (kasvav = Vale)

4. Veergude sortimine andmeraamis ridade asemel

DataFrame'i ridade sortimise asemel saate sortida selle veerge. Seda saate teha, kutsudes välja meetodi sort_index ja edastades selle telg parameeter väärtusega 1:

df.sort_index (telg=1)

See samm sorteerib DataFrame'i veergude järgi kasvavas järjekorras. DataFrame'i veergude kahanevas järjestuses sortimiseks saate sortimisjärgus määrata sortimisjärjestuse.

df.sort_index (telg=1, kasvav = Vale)

5. DataFrame'i muutmine sorteerimise ajal

Need kaks sortimismeetodit töötavad nii, et tagastatakse algandmete koopia äsja sorteeritud olekus. Salvestusruumi säästmiseks või lihtsalt täpsema koodi kirjutamiseks saate selle asemel muuta DataFrame'i algandmeid. Iga meetod aktsepteerib an kohas Boolean parameeter, mis muudab andmeid, mitte ei tagasta muudetud koopiat.

df.sort_values ​​(by = ["Kliendi ID", "Linn"], kasvav = Väär, asend = Tõene)

Õppige Pythonis andmeid sortima

Python kordab paljusid Exceli sisseehitatud funktsioone mõne koodireaga. Alates sortimisprotseduuridest kuni oma andmete põhjal keerukate Pivot-tabelite loomiseni saate neile nime anda ja saate seda teha Pythonis.

Kui olete Pythonis alles uus ja õpite köied, parandavad need sammud teie kodeerimisoskusi suhteliselt lihtsalt.