Python, Pandas und das Lösen von drei Problemen aus der Excel-Welt

Excel ist ein äußerst verbreitetes Datenanalysetool. Es ist leicht zu lernen, wie man damit arbeitet, es ist auf fast jedem Computer verfügbar, und derjenige, der es beherrscht, kann recht komplexe Probleme damit lösen. Python wird oft als ein Tool angesehen, dessen Funktionen nahezu unbegrenzt sind, das jedoch schwieriger zu beherrschen ist als Excel. Der Autor des Materials, dessen Übersetzung wir heute veröffentlichen, möchte über die Lösung der drei Aufgaben, die normalerweise in Excel gelöst werden, mit Python sprechen. Dieser Artikel ist eine Einführung in Python für diejenigen, die Excel gut kennen.



Laden von Daten


Beginnen wir mit dem Importieren der Python-Bibliothek pandasund dem Laden von Daten in Datenrahmen, die in Excel- Tabellen salesund statesArbeitsmappen gespeichert sind . Wir werden den entsprechenden Datenrahmen die gleichen Namen geben.

import pandas as pd
sales = pd.read_excel('https://github.com/datagy/mediumdata/raw/master/pythonexcel.xlsx', sheet_name = 'sales')
states = pd.read_excel('https://github.com/datagy/mediumdata/raw/master/pythonexcel.xlsx', sheet_name = 'states')

Jetzt verwenden wir die .head()Datenrahmenmethode sales, um die Elemente am Anfang des Datenrahmens anzuzeigen:

print(sales.head())

Vergleichen Sie, was angezeigt wird, mit dem, was Sie in Excel sehen können.


Vergleich des Erscheinungsbilds der Datenausgabe in Excel mit dem Erscheinungsbild der Datenausgabe aus dem Pandas-Datenrahmen

Hier können Sie sehen, dass die Ergebnisse der Visualisierung von Daten aus dem Datenrahmen denen in Excel sehr ähnlich sind. Es gibt jedoch einige sehr wichtige Unterschiede:

  • Die Zeilennummerierung in Excel beginnt bei 1, und bei Pandas ist die Nummer (Index) der ersten Zeile 0.
  • In Excel haben Spalten Buchstaben, die mit einem Buchstaben beginnen A, und in Pandas entsprechen die Namen der Spalten den Namen der entsprechenden Variablen.

Wir werden weiterhin die Fähigkeiten von Pandas untersuchen, mit denen wir Probleme lösen können, die Excel normalerweise löst.

Implementieren der Excel Excel IF-Funktionalität in Python


Excel verfügt über eine sehr praktische Funktion IF, mit der Sie beispielsweise etwas in eine Zelle schreiben können, indem Sie überprüfen, was sich in einer anderen Zelle befindet. Angenommen, Sie möchten eine neue Spalte in Excel erstellen, deren Zellen uns mitteilen, ob die Werte in den entsprechenden Zellen in der Spalte 500 überschreiten B. In Excel können ESie einer solchen Spalte (in unserem Fall einer Spalte ) eine Überschrift zuweisen , MoreThan500indem Sie den entsprechenden Text in die Zelle schreiben E1. Danach können Sie in die Zelle E2Folgendes eingeben:

=IF([@Sales]>500, "Yes", "No")


Verwenden der IF-Funktion in Excel

Um dasselbe mit Pandas zu tun, können Sie das Listenverständnis verwenden:

sales['MoreThan500'] = ['Yes' if x > 500 else 'No' for x in sales['Sales']]


Listeneinschluss in Python: Wenn der aktuelle Wert mehr als 500 beträgt, ist Ja in der Liste enthalten. Andernfalls ist Nein Listeneinschluss

ein hervorragendes Werkzeug zur Lösung solcher Probleme, mit dem wir den Code vereinfachen können, indem wir den Bedarf an komplexen Konstruktionen wie if / else verringern. Das gleiche Problem kann mit if / else gelöst werden, aber der vorgeschlagene Ansatz spart Zeit und macht den Code ein wenig sauberer. Details zur Aufnahme in die Liste finden Sie hier .

Implementierung der VLOOKUP Excel-Funktionalität in Python


In unserem Datensatz befinden sich auf einer der Excel-Tabellen Stadtnamen und auf der anderen die Namen von Bundesstaaten und Provinzen. Wie kann man genau herausfinden, wo sich jede Stadt befindet? Hierfür eignet sich eine Excel-Funktion VLOOKUP, mit der Sie die Daten zweier Tabellen verknüpfen können. Diese Funktion funktioniert nach dem Prinzip der linken Verknüpfung, wenn jeder Datensatz aus dem Datensatz auf der linken Seite des Ausdrucks gespeichert wird. Mit der Funktion VLOOKUPempfehlen wir, dass das System nach einem bestimmten Wert in einer bestimmten Spalte eines bestimmten Blattes sucht und dann einen Wert zurückgibt, der eine bestimmte Anzahl von Spalten rechts vom gefundenen Wert darstellt. So sieht es aus:

=VLOOKUP([@City],states,2,false)

Wir setzen die salesSpaltenüberschrift auf dem Blatt, Fwährend wir Statedie Funktion verwenden VLOOKUP, um die Zellen dieser Spalte mit den Namen der Bundesstaaten und Provinzen zu füllen, in denen sich die Städte befinden.


Verwenden der VLOOKUP-Funktion in Excel

In Python können Sie dasselbe mit der Methodemergevon pandastun. Es nimmt zwei Datenrahmen und kombiniert sie. Um dieses Problem zu lösen, benötigen wir den folgenden Code:

sales = pd.merge(sales, states, how='left', on='City')

Lassen Sie es uns analysieren:

  1. Das erste Argument für die Methode mergeist der ursprüngliche Datenrahmen.
  2. Das zweite Argument ist der Datenrahmen, in dem wir nach Werten suchen.
  3. Das Argument howgibt genau an, wie wir die Daten verbinden möchten.
  4. Das Argument onzeigt auf die Variable, mit der die Verbindung ausgeführt werden soll (hier können Sie weiterhin die Argumente verwenden left_onund right_on, falls erforderlich, wenn die für uns interessanten Daten in verschiedenen Datenrahmen unterschiedlich benannt sind).

Übersichtstabellen


Pivot Tables ist eine der leistungsstärksten Funktionen von Excel. Mit diesen Tabellen können Sie schnell wertvolle Informationen aus großen Datenmengen extrahieren. Erstellen Sie eine Excel-PivotTable, in der Informationen zum Gesamtumsatz für jede Stadt angezeigt werden.


Erstellen einer PivotTable in Excel

Wie Sie sehen, ziehen Sie zum Erstellen einer solchen Tabelle einfach das FeldCityin den AbschnittRowsund das FeldSalesin den AbschnittValues. Danach zeigt Excel automatisch den Gesamtumsatz für jede Stadt an.

Um dieselbe Pivot-Tabelle in Pandas zu erstellen, müssen Sie den folgenden Code schreiben:

sales.pivot_table(index = 'City', values = 'Sales', aggfunc = 'sum')

Lassen Sie es uns analysieren:

  1. Hier verwenden wir eine Methode sales.pivot_table, die Pandas mitteilt, dass wir eine Pivot-Tabelle basierend auf einem Datenrahmen erstellen möchten sales.
  2. Das Argument indexzeigt auf die Spalte, nach der die Daten aggregiert werden sollen.
  3. Das Argument valuesgibt an, welche Werte aggregiert werden sollen.
  4. Das Argument aggfuncgibt die Funktion , dass wir bei der Verarbeitung von Werten verwendet werden sollen (hier kann man noch die Funktionen mean, max, minund so weiter).

Zusammenfassung


In diesem Material haben Sie gelernt, wie Sie Excel-Daten in Pandas importieren, die Funktionen von Excel-Funktionen IFund Pandas von Python-Tools implementierenVLOOKUPsowie wie die Funktionalität von Excel-Pivot-Tabellen mithilfe von Pandas reproduziert wird. Vielleicht fragen Sie sich jetzt, warum Sie Pandas verwenden sollten, wenn Sie dies auch in Excel tun können. Es gibt keine einheitliche Antwort auf diese Frage. Mit Python können Sie Code erstellen, der genau abgestimmt und gründlich recherchiert werden kann. Ein solcher Code kann wiederverwendet werden. Python kann sehr komplexe Datenanalyseschemata beschreiben. Und die Excel-Funktionen reichen wahrscheinlich nur für kleinere Datenrecherchen aus. Wenn Sie bisher nur Excel verwendet haben, empfehle ich Ihnen, Python und Pandas auszuprobieren und herauszufinden, was Sie tun können.

Mit welchen Tools analysieren Sie Daten?

, , iPhone. , .


All Articles