Dideli duomenų ištekliai yra netvarkingi, ypač kai juos reikia paimti iš svetainių, serverių ar kitų duomenų šaltinių.
UI pagrįstos programos, pvz., MS Excel, yra tinkamos tvarkyti paprastus duomenų rinkinius, tačiau gali susidurti su problemomis, kai duomenys tampa didesni. Tai gera priežastis pereiti prie Python ir atlikti sudėtingesnes duomenimis pagrįstas operacijas.
„Python“ trečiosios šalies biblioteka „Pandas“ labai padeda greitai rūšiuoti esamus duomenų rinkinius. Jei norite rūšiuoti duomenis Python, šiame straipsnyje aptariami keli būdai, kaip atlikti šią užduotį.
Būtinos sąlygos naudoti Python duomenims rūšiuoti
Prieš rūšiuodami duomenis Python, turite pasirūpinti keliomis būtinomis sąlygomis:
- Atsisiųskite Python IDE. Galite naudoti a Su Python suderinamas IDE, pvz., Jupyter Notebook, PyCharm ir Spyder, be kita ko. Kiekvienas iš jų yra suderinamas su visomis Python versijomis.
- Įdiekite pandas. Jums reikės pandų paketo, kurį galite įdiegti naudojant PIP arba pasirinktą metodą.
- Duomenų rinkinio pavyzdys. Atsisiųskite a duomenų rinkinio pavyzdys praktikuoti išvardytus kodus. Arba galite naudoti šias procedūras savo išskirtiniams duomenims.
Pandų bibliotekos importavimas į Python
Pandas yra trečiosios šalies Python biblioteka, kurią galite naudoti tvarkydami Excel, CSV ir kitus duomenų formatus.
Norėdami dirbti su „Excel“ failo pavyzdžiu, pradėkite importuodami pandų biblioteką. Po to naudosite importo procedūra, skirta nuskaityti „Excel“ duomenis į „Python“..
Norėdami importuoti biblioteką
importuoti pandos kaip pd
Sukurkite naują duomenų rėmelį, kad įkeltumėte „Excel“ duomenis
failas = "Pavyzdys – Superstore.xls"
df = pd.read_excel (failas)
df.galva()
Kur:
- df yra DataFrame objektas, kuriame saugomi importuoti duomenys.
- pd yra Pandas bibliotekos slapyvardis.
- skaityti_excel yra būdas nuskaityti Excel failą į Python.
- failą yra kelias į Excel failą.
- galva yra metodas, kuris grąžina pirmąsias penkias DataFrame eilutes.
Kai programa įkels duomenis, galite naudoti daugybę galimų „DataFrame“ metodų, kad galėtumėte juos rūšiuoti įvairiais būdais.
1. Rūšiavimas pagal vieną stulpelį duomenų rėmelyje
Kadangi jūsų duomenys turės daug eilučių ir stulpelių, dažnai norėsite rūšiuoti duomenis pagal konkretų stulpelį ar stulpelius.
„Python“ pagal numatytuosius nustatymus rūšiuoja duomenis didėjančia tvarka. Jei norite pakeisti rūšiavimo tvarką, turite tai aiškiai nurodyti savo kode.
Rūšiuoti pagal vieną stulpelį (didėjimo tvarka)
df.sort_values (pagal = "Kliento ID")
Rūšiuoti pagal vieną stulpelį (mažėjimo tvarka)
Nustatyti kylantis parametras į Netiesa norėdami surūšiuoti stulpelį mažėjančia tvarka.
df.sort_values (pagal = "Kliento ID", didėjanti = klaidinga)
Kur:
- df yra DataFrame objektas, kuriame yra duomenys.
- Rūšiuoti_vertes yra metodas rūšiuoti pagal duomenų reikšmes.
- pateikė yra parametras, apibrėžiantis stulpelio pavadinimą.
- kylantis yra parametras, apibrėžiantis rūšiavimo tvarką.
2. Kelių stulpelių rūšiavimas duomenų rėmelyje
Jei to reikalauja jūsų reikalavimai, taip pat galite rūšiuoti duomenų rėmelį (-ius) pagal kelis stulpelius vienu metu. Tokiu atveju turite apibrėžti stulpelių nuorodas sąraše.
Rūšiuoti pagal kelis stulpelius didėjančia tvarka
df.sort_values (pagal = ["Kliento ID", "Miestas"])
Rūšiuoti pagal kelis stulpelius mažėjančia tvarka
Naudokite funkciją didėjantis = klaidingas norėdami surūšiuoti stulpelius mažėjančia tvarka. Atminkite, kad turite nurodyti sąrašo stulpelių pavadinimus, kad juos rūšiuotumėte vienu metu.
df.sort_values (pagal = ["Kliento ID", "Miestas"], didėjančia tvarka = klaidinga)
Rūšiavimas pagal kelis stulpelius skirtingomis rūšiavimo tvarka
Kas nutinka, kai vieną stulpelį norite rūšiuoti mažėjančia, o kitą – didėjimo tvarka? Norėdami įtraukti šiuos reikalavimus, turite šiek tiek pakoreguoti kodą.
Pavyzdžiui, norėdami surūšiuoti Regionas ir Miestas stulpelius atitinkamai mažėjimo ir didėjimo tvarka:
df.sort_values (pagal = ["Regionas", "Miestas"], didėjančia tvarka = [netiesa, tiesa])
Šio kodo paaiškinimas yra paprastas; apibrėžiate DataFrame pavadinimą ir perduodate Rūšiuoti_vertes funkcija kartu su stulpelių pavadinimais sąraše. Turėtumėte naudoti Būlio reikšmes, kad nurodytumėte rūšiavimo tvarką.
Taip iškvietus funkciją reiškia, kad „Python“ pirmiausia rūšiuos pagal „DataFrame“ regiono stulpelį mažėjančia tvarka. Tada eilutės su identišku regionu bus toliau rūšiuojamos pagal stulpelį Miestas didėjančia tvarka.
3. Kaip rūšiuoti stulpelius duomenų rėmelyje pagal indeksą
Indekso kintamasis yra numatytoji vertė, priskirta kiekvienai Python duomenų rėmelio eilutei. Galite apibrėžti indekso reikšmes arba leisti Python pačiam nustatyti indekso reikšmę.
Norėdami rūšiuoti duomenis pagal indekso reikšmę, galite naudoti Rūšiuoti_indeksą funkcija. Ši funkcija rūšiuojama pagal indeksą, o ne pagal bet kokias reikšmes, esančias pradiniame duomenų rinkinyje.
df.sort_index()
Kaip ir su sort_values, galite perduoti kylantis parametras, skirtas nurodyti rūšiavimo kryptį. Pavyzdžiui, perduokite reikšmę Netiesa rūšiuoti duomenis mažėjančia tvarka:
df.sort_index (didėjimo tvarka = Netiesa)
4. Stulpelių rūšiavimas duomenų rėmelyje, o ne eilutėse
Užuot rūšiuodami eilutes DataFrame, galite rūšiuoti jo stulpelius. Tai galite padaryti iškviesdami metodą sort_index ir perduodami jį ašį parametras su reikšme 1:
df.sort_index (axis=1)
Šis veiksmas surūšiuoja DataFrame pagal stulpelius didėjančia tvarka. Norėdami rūšiuoti „DataFrame“ stulpelius mažėjančia tvarka, rūšiavimo veiksme galite nurodyti rūšiavimo tvarką.
df.sort_index (axis=1, didėjančia tvarka = Netiesa)
5. „DataFrame“ modifikavimas rūšiuojant
Du rūšiavimo metodai veikia grąžinant pradinių duomenų kopiją naujai surūšiuotais. Norėdami sutaupyti vietos saugykloje arba tiesiog parašyti glaustesnį kodą, galite pakeisti pradinius DataFrame duomenis. Kiekvienas metodas priima an vietoje loginis parametras, kuris pakeičia duomenis, o ne grąžina pakeistą kopiją.
df.sort_values (pagal = ["Kliento ID", "Miestas"], didėjančia tvarka = klaidinga, vietoje = teisinga)
Mokymasis rūšiuoti duomenis Python
„Python“ atkartoja daugelį „Excel“ integruotų funkcijų keliomis kodo eilutėmis. Pradedant rūšiavimo procedūromis ir baigiant sudėtingų duomenų „Pivot“ lentelių kūrimu, jūs suteikiate jiems pavadinimą ir galite tai padaryti naudodami Python.
Jei dar nesate „Python“ naujokas ir mokate lynų, šie veiksmai gana lengvai pagerins jūsų kodavimo įgūdžius.