Grote data-assets zijn rommelig, vooral wanneer u ze van websites, servers of andere gegevensbronnen moet halen.
Op gebruikersinterface gebaseerde toepassingen zoals MS Excel zijn goed voor het omgaan met eenvoudige datasets, maar kunnen moeite hebben wanneer de gegevens groter worden. Dit is een goede reden voor u om over te stappen op Python om complexere op gegevens gebaseerde bewerkingen uit te voeren.
De externe bibliotheek van Python, Pandas, helpt u uw bestaande datasets snel te sorteren. Als u uw gegevens in Python wilt sorteren, bekijkt dit artikel een paar manieren om deze taak te volbrengen.
Vereisten voor het gebruik van Python om gegevens te sorteren
Voordat u uw gegevens in Python sorteert, moet u aan een paar vereisten voldoen:
- Download een Python IDE. U kunt een Python-compatibele IDE, zoals Jupyter Notebook, PyCharm en Spyder, onder andere. Elk van deze is compatibel met alle Python-versies.
- Panda's installeren. Je hebt het panda-pakket nodig dat je kunt installeren met PIP of uw favoriete methode.
- Voorbeeldgegevensset. Download een voorbeeldgegevensset om de vermelde codes te oefenen. Als alternatief kunt u deze procedures gebruiken voor uw exclusieve gegevens.
De Panda's-bibliotheek importeren in Python
Pandas is een Python-bibliotheek van derden die u kunt gebruiken om Excel, CSV en andere gegevensindelingen te verwerken.
Om met een voorbeeld Excel-bestand te werken, begint u met het importeren van de panda's-bibliotheek. Daarna gebruik je de importprocedure om de Excel-gegevens in Python te lezen.
De bibliotheek importeren
importeren panda's net zo pd
Maak een nieuw dataframe om de Excel-gegevens te laden
bestand = "Voorbeeld - Superstore.xls"
df = pd.read_excel (bestand)
df.hoofd()
Waar:
- df is een DataFrame-object dat de geïmporteerde gegevens opslaat.
- pd is een alias voor de Pandas-bibliotheek.
- read_excel is een methode om het Excel-bestand in Python te lezen.
- het dossier is een pad naar het Excel-bestand.
- hoofd is een methode die de eerste vijf rijen uit het DataFrame retourneert.
Nadat uw programma de gegevens heeft geladen, kunt u de vele beschikbare DataFrame-methoden gebruiken om deze op verschillende manieren te sorteren.
1. Sorteren op een enkele kolom in een dataframe
Aangezien uw gegevens veel rijen en kolommen zullen hebben, wilt u de gegevens vaak sorteren op basis van een specifieke kolom of kolommen.
Python sorteert de gegevens standaard in oplopende volgorde. Als je de sorteervolgorde wilt wijzigen, moet je dit expliciet in je code vermelden.
Sorteren op een enkele kolom (oplopende volgorde)
df.sort_values (door = "Klanten ID")
Sorteren op een enkele kolom (aflopende volgorde)
Stel de oplopend parameter naar niet waar om uw kolom in aflopende volgorde te sorteren.
df.sort_values (door = "Klanten ID", oplopend = False)
Waar:
- df is een DataFrame-object dat de gegevens bevat.
- sort_values is een methode om te sorteren op gegevenswaarden.
- door is een parameter om de kolomnaam te definiëren.
- oplopend is een parameter om de sorteervolgorde te definiëren.
2. Meerdere kolommen in een dataframe sorteren
Als uw vereisten daarom vragen, kunt u uw DataFrame(s) ook sorteren op basis van meerdere kolommen tegelijk. In een dergelijk scenario moet u de kolomverwijzingen in een lijst definiëren.
Sorteren op meerdere kolommen Oplopend
df.sort_values (door = ["Klanten ID", "Stad"])
Sorteren op meerdere kolommen aflopend
Gebruik de functie oplopend = niet waar om uw kolommen in aflopende volgorde te sorteren. Onthoud dat u de namen van de kolommen in een lijst moet specificeren om ze tegelijkertijd te sorteren.
df.sort_values (door = ["Klanten ID", "Stad"], oplopend = False)
Sorteren op meerdere kolommen in verschillende sorteervolgorde
Met de basisprincipes van sorteren uit de weg, wat gebeurt er als u de ene kolom in aflopende volgorde en een andere in oplopende volgorde wilt sorteren? U moet uw code enigszins aanpassen om aan deze vereisten te voldoen.
Om bijvoorbeeld de te sorteren Regio en Stad kolommen in aflopende en oplopende volgorde, respectievelijk:
df.sort_values (door = ["Regio", "Stad"], oplopend = [Fals, True])
De uitleg van deze code is eenvoudig; u definieert de DataFrame-naam en geeft de sort_values functie samen met de kolomnamen in een lijst. Je zou... moeten gebruiken Booleaans waarden om de sorteervolgorde op te geven.
Als u de functie op deze manier aanroept, betekent dit dat Python eerst op de kolom Regio van het DataFrame in aflopende volgorde sorteert. Vervolgens worden rijen met een identieke regio verder gesorteerd op de kolom Stad, in oplopende volgorde.
3. Kolommen in een dataframe sorteren op index
De indexvariabele is de standaardwaarde die is toegewezen aan elke rij binnen een Python-dataframe. U kunt de indexwaarden definiëren of Python zelf een indexwaarde laten instellen.
Om de gegevens te sorteren op indexwaarde, kunt u de gebruiken sort_index functie. Deze functie sorteert op basis van de index in plaats van op waarden in de oorspronkelijke gegevensset.
df.sort_index()
Net als bij sort_values, kunt u een. doorgeven oplopend parameter om de richting van de sortering op te geven. Geef bijvoorbeeld een waarde van niet waar om gegevens in aflopende volgorde te sorteren:
df.sort_index (oplopend = niet waar)
4. Kolommen sorteren in een dataframe in plaats van rijen
In plaats van de rijen in een DataFrame te sorteren, kunt u de kolommen ervan sorteren. U kunt dit doen door de methode sort_index aan te roepen en deze door te geven as parameter met een waarde van 1:
df.sort_index (as=1)
Deze stap sorteert het DataFrame, op kolommen, in oplopende volgorde. Om de kolommen van het DataFrame in aflopende volgorde te sorteren, kunt u de sorteervolgorde specificeren in uw sorteerstap.
df.sort_index (as=1, oplopend = niet waar)
5. Het DataFrame wijzigen tijdens het sorteren
De twee sorteermethoden werken door een kopie van de originele gegevens terug te sturen in de nieuw gesorteerde staat. Om opslagruimte te besparen, of gewoon om beknoptere code te schrijven, kunt u in plaats daarvan de originele DataFrame-gegevens wijzigen. Elke methode accepteert een in situ boolean parameter die de gegevens wijzigt in plaats van een gewijzigde kopie terug te sturen.
df.sort_values (door = ["Klanten ID", "Stad"], oplopend = False, inplace = True)
Leren om gegevens te sorteren in Python
Python repliceert veel van de ingebouwde functies van Excel met een paar regels code. Van sorteerprocedures tot het maken van uitgebreide draaitabellen op uw gegevens, noem maar op, en u kunt het in Python doen.
Als je nog niet bekend bent met Python en de kneepjes van het vak leert, zullen deze stappen je codeervaardigheden relatief gemakkelijk verbeteren.