Store dataressurser er rotete, spesielt når du må hente dem fra nettsteder, servere eller andre datakilder.

UI-baserte applikasjoner som MS Excel er gode for å håndtere enkle datasett, men kan slite når dataene blir større. Dette er en god grunn for deg til å flytte til Python for å utføre mer komplekse databaserte operasjoner.

Pythons tredjepartsbibliotek, Pandas, hjelper deg langt med å sortere eksisterende datasett raskt. Hvis du ønsker å sortere dataene dine i Python, ser denne artikkelen på noen måter å oppnå denne oppgaven på.

Forutsetninger for å bruke Python til å sortere data

Før du sorterer dataene dine i Python, må du ta vare på noen få forutsetninger:

  • Last ned en Python IDE. Du kan bruke en Python-kompatibel IDE, slik som Jupyter Notebook, PyCharm og Spyder, blant andre. Hver av disse er kompatible med alle Python-versjoner.
  • Installer pandaer. Du trenger pandapakken som du kan installer ved hjelp av PIP eller din foretrukne metode.
  • Eksempel på datasett. Last ned en eksempeldatasett
    instagram viewer
    for å praktisere de oppførte kodene. Alternativt kan du bruke disse prosedyrene på dine eksklusive data.

Importerer Pandas-biblioteket i Python

Pandas er et tredjeparts Python-bibliotek som du kan bruke til å håndtere Excel, CSV og andre dataformater.

For å jobbe med en eksempel Excel-fil, start med å importere pandas-biblioteket. Etter det vil du bruke importprosedyre for å lese Excel-dataene inn i Python.

For å importere biblioteket

import pandaer som pd

Opprett en ny dataramme for å laste Excel-dataene

fil = "Eksempel - Superstore.xls"
df = pd.read_excel (fil)
df.hode()

Hvor:

  • df er et DataFrame-objekt som lagrer de importerte dataene.
  • pd er et alias for Pandas-biblioteket.
  • read_excel er en metode for å lese Excel-filen inn i Python.
  • fil er en bane til Excel-filen.
  • hode er en metode som returnerer de første fem radene fra DataFrame.

Når programmet har lastet inn dataene, kan du bruke de mange tilgjengelige DataFrame-metodene til å sortere dem på forskjellige måter.

1. Sortering etter en enkelt kolonne i en DataFrame

Siden dataene dine vil ha mange rader og kolonner, vil du ofte sortere dataene basert på en eller flere spesifikke kolonner.

Python sorterer dataene i stigende rekkefølge som standard. Hvis du ønsker å endre sorteringsrekkefølgen, må du nevne det eksplisitt i koden din.

Sorter etter en enkelt kolonne (stigende rekkefølge)

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

Sorter etter en enkelt kolonne (synkende rekkefølge)

Sett stigende parameter til Falsk for å sortere kolonnen i synkende rekkefølge.

df.sort_values ​​(by = "Kunde ID", stigende=False)

Hvor:

  • df er et DataFrame-objekt som inneholder dataene.
  • sorteringsverdier er en metode for å sortere etter dataverdier.
  • av er en parameter for å definere kolonnenavnet.
  • stigende er en parameter for å definere sorteringsrekkefølgen.

2. Sortering av flere kolonner i en dataramme

Hvis kravene krever det, kan du også sortere DataFrame(r) basert på flere kolonner samtidig. I et slikt scenario må du definere kolonnereferansene i en liste.

Sorter etter flere kolonner stigende

df.sort_values ​​(by = ["Kunde ID", "By"])

Sorter etter flere kolonner synkende

Bruk funksjonen stigende = Falsk for å sortere kolonnene i synkende rekkefølge. Husk at du må spesifisere navnene på kolonnene i en liste for å sortere dem samtidig.

df.sort_values ​​(by = ["Kunde ID", "By"], stigende = False)

Sortering etter flere kolonner i forskjellige sorteringsrekkefølger

Med det grunnleggende om sortering ute av veien, hva skjer når du vil sortere en kolonne i synkende rekkefølge og en annen i stigende rekkefølge? Du må justere koden litt for å innlemme disse kravene.

For eksempel å sortere Region og By kolonner i henholdsvis synkende og stigende rekkefølge:

df.sort_values ​​(by = ["Region", "By"], stigende = [False, True])

Forklaringen på denne koden er enkel; du definerer DataFrame-navnet og sender sorteringsverdier funksjon sammen med kolonnenavnene i en liste. Du bør bruke boolsk verdier for å spesifisere sorteringsrekkefølgen.

Å kalle funksjonen slik betyr at Python først vil sortere etter DataFrames Region-kolonne i synkende rekkefølge. Deretter vil rader med en identisk region sorteres videre etter By-kolonnen, i stigende rekkefølge.

3. Hvordan sortere kolonner i en dataramme etter indeks

Indeksvariabelen er standardverdien som er tildelt hver rad i en Python Dataframe. Du kan definere indeksverdiene eller la Python sette en indeksverdi alene.

For å sortere dataene etter indeksverdien kan du bruke sort_indeks funksjon. Denne funksjonen sorterer basert på indeksen i stedet for på noen verdier i det opprinnelige datasettet.

df.sort_index()

Som med sort_values, kan du sende en stigende parameter for å spesifisere retningen på sorteringen. Send for eksempel en verdi på Falsk for å sortere data i synkende rekkefølge:

df.sort_index (stigende = Falsk)

4. Sortering av kolonner i en dataramme i stedet for rader

I stedet for å sortere radene i en DataFrame, kan du sortere kolonnene. Du kan gjøre det ved å kalle sort_index-metoden og gi den en akser parameter med en verdi på 1:

df.sort_index (akse=1)

Dette trinnet sorterer DataFrame, etter kolonnene, i stigende rekkefølge. For å sortere DataFrames kolonner i synkende rekkefølge, kan du spesifisere sorteringsrekkefølgen i sorteringstrinnet.

df.sort_index (akse=1, stigende = Falsk)

5. Endre DataFrame mens du sorterer den

De to sorteringsmetodene fungerer ved å returnere en kopi av de originale dataene, i dens nylig sorterte tilstand. For å spare lagringsplass, eller ganske enkelt for å skrive mer konsis kode, kan du endre de originale DataFrame-dataene i stedet. Hver metode godtar en på plass boolsk parameter som endrer dataene i stedet for å returnere en modifisert kopi.

df.sort_values ​​(by = ["Kunde ID", "By"], stigende = usann, på plass = sant)

Lære å sortere data i Python

Python replikerer mange av Excels innebygde funksjoner med noen få linjer med kode. Fra sorteringsprosedyrer til å lage forseggjorte pivottabeller på dataene dine, du navngir det, og du kan gjøre det i Python.

Hvis du fortsatt er ny på Python og lærer deg tauene, vil disse trinnene forbedre kodeferdighetene dine relativt enkelt.