Velika sredstva podataka su neuredna, posebno kada ih morate povući s web stranica, poslužitelja ili drugih izvora podataka.

Aplikacije koje se temelje na korisničkom sučelju kao što je MS Excel dobre su za rad s jednostavnim skupovima podataka, ali mogu imati poteškoća kada podaci postanu veći. Ovo je dobar razlog da prijeđete na Python za izvođenje složenijih operacija temeljenih na podacima.

Pythonova biblioteka treće strane, Pandas, uvelike pomaže u brzom sortiranju postojećih skupova podataka. Ako želite sortirati svoje podatke u Pythonu, ovaj članak razmatra nekoliko načina za postizanje ovog zadatka.

Preduvjeti za korištenje Pythona za sortiranje podataka

Prije sortiranja podataka u Pythonu, morate se pobrinuti za nekoliko preduvjeta:

  • Preuzmite Python IDE. Možete koristiti a Python kompatibilan IDE, kao što su Jupyter Notebook, PyCharm i Spyder, među ostalima. Svaki od njih je kompatibilan sa svim verzijama Pythona.
  • Instalirajte pande. Trebat će vam paket pandas koji možete instalirati pomoću PIP-a ili željenu metodu.
  • instagram viewer
  • Uzorak skupa podataka. Preuzimanje a uzorak skupa podataka uvježbavati navedene kodove. Alternativno, možete koristiti ove postupke na svojim ekskluzivnim podacima.

Uvoz biblioteke Pandas u Python

Pandas je Python biblioteka treće strane koju možete koristiti za obradu Excel, CSV i drugih formata podataka.

Da biste radili s uzorkom Excel datoteke, započnite s uvozom biblioteke pandas. Nakon toga ćete koristiti postupak uvoza za čitanje Excel podataka u Python.

Za uvoz biblioteke

uvoz pande kao pd

Stvorite novi DataFrame za učitavanje Excel podataka

datoteka = "Uzorak - Superstore.xls"
df = pd.read_excel (datoteka)
df.glava()

Gdje:

  • df je DataFrame objekt koji pohranjuje uvezene podatke.
  • pd je alias za biblioteku Pandas.
  • read_excel je metoda za čitanje Excel datoteke u Python.
  • datoteka je put do Excel datoteke.
  • glavu je metoda koja vraća prvih pet redaka iz DataFramea.

Nakon što vaš program učita podatke, možete koristiti mnoge dostupne DataFrame metode da ih sortirate na različite načine.

1. Sortiranje prema jednom stupcu u DataFrameu

Budući da će vaši podaci imati puno redaka i stupaca, često ćete željeti sortirati podatke na temelju određenog stupca ili stupaca.

Python prema zadanim postavkama sortira podatke uzlaznim redoslijedom. Ako želite promijeniti redoslijed sortiranja, morate to izričito navesti u svom kodu.

Poredaj po jednom stupcu (uzlazni redoslijed)

df.sort_values ​​(prema = "ID kupca")

Poredaj po jednom stupcu (silazni redoslijed)

Postavi uzlazni parametar za lažno za sortiranje vašeg stupca silaznim redoslijedom.

df.sort_values ​​(prema = "ID kupca", uzlazno=False)

Gdje:

  • df je DataFrame objekt koji sadrži podatke.
  • sort_vrijednosti je metoda za sortiranje prema vrijednostima podataka.
  • po je parametar za definiranje naziva stupca.
  • uzlazni je parametar za definiranje redoslijeda sortiranja.

2. Razvrstavanje više stupaca u DataFrameu

Ako to zahtijevaju vaši zahtjevi, također možete sortirati svoje DataFrame(ove) na temelju više stupaca odjednom. U takvom scenariju morate definirati reference stupaca na popisu.

Poredaj prema više stupaca uzlazno

df.sort_values ​​(by = ["ID kupca", "Grad"])

Poredaj prema više stupaca silaznim redom

Koristite funkciju uzlazno = netočno za sortiranje stupaca silaznim redoslijedom. Zapamtite, morate navesti nazive stupaca unutar popisa kako biste ih istovremeno sortirali.

df.sort_values ​​(by = ["ID kupca", "Grad"], uzlazno = netočno)

Sortiranje prema više stupaca u različitim redoslijedima

Što se događa kada želite poredati jedan stupac silaznim redoslijedom, a drugi uzlaznim, nakon što ste prestali s osnovama sortiranja? Morate malo prilagoditi svoj kod da biste uključili ove zahtjeve.

Na primjer, za sortiranje Regija i Grad stupaca u silaznom i uzlaznom redoslijedu:

df.sort_values ​​(by = ["Regija", "Grad"], uzlazno = [False, True])

Objašnjenje ovog koda je jednostavno; definirate naziv DataFramea i proslijedite sort_vrijednosti funkcionirati zajedno s nazivima stupaca na popisu. Trebali biste koristiti Booleov vrijednosti za određivanje redoslijeda sortiranja.

Ovako pozivanje funkcije znači da će Python najprije sortirati po stupcu regije DataFramea silaznim redoslijedom. Zatim će retci s identičnom regijom biti dalje poredani prema stupcu Grad, uzlaznim redoslijedom.

3. Kako sortirati stupce u DataFrameu prema indeksu

Indeksna varijabla je zadana vrijednost dodijeljena svakom retku unutar Python Dataframea. Možete definirati vrijednosti indeksa ili pustiti Python da sam postavi vrijednost indeksa.

Za sortiranje podataka prema vrijednosti indeksa, možete koristiti sort_index funkcija. Ova funkcija sortira na temelju indeksa, a ne na bilo kojoj vrijednosti sadržanoj u izvornom skupu podataka.

df.sort_index()

Kao i kod sort_values, možete proslijediti uzlazni parametar za određivanje smjera sortiranja. Na primjer, proslijedite vrijednost od lažno za sortiranje podataka silaznim redoslijedom:

df.sort_index (uzlazno = lažno)

4. Sortiranje stupaca u DataFrameu umjesto redaka

Umjesto sortiranja redaka u DataFrameu, možete sortirati njegove stupce. To možete učiniti tako da pozovete metodu sort_index i proslijedite je os parametar s vrijednošću od 1:

df.sort_index (os=1)

Ovaj korak razvrstava DataFrame prema njegovim stupcima uzlaznim redoslijedom. Za sortiranje stupaca DataFramea silaznim redoslijedom, možete navesti redoslijed sortiranja u koraku sortiranja.

df.sort_index (os=1, uzlazno = lažno)

5. Izmjena DataFramea tijekom njegovog sortiranja

Dvije metode razvrstavanja funkcioniraju tako da vraćaju kopiju izvornih podataka u novom sortiranom stanju. Da biste uštedjeli prostor za pohranu ili jednostavno napisali koncizniji kod, umjesto toga možete izmijeniti izvorne DataFrame podatke. Svaka metoda prihvaća na mjestu boolean parametar koji mijenja podatke umjesto vraćanja modificirane kopije.

df.sort_values ​​(by = ["ID kupca", "Grad"], uzlazno = netočno, na mjestu = točno)

Učenje sortiranja podataka u Pythonu

Python replicira mnoge Excelove ugrađene funkcije s nekoliko redaka koda. Od postupaka sortiranja do stvaranja razrađenih zaokretnih tablica na vašim podacima, vi to imenujete, a to možete učiniti u Pythonu.

Ako ste još uvijek novi u Pythonu i učite užad, ovi će koraci relativno lako unaprijediti vaše vještine kodiranja.