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 pandas
und dem Laden von Daten in Datenrahmen, die in Excel- Tabellen sales
und states
Arbeitsmappen 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-DatenrahmenHier 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 E
Sie einer solchen Spalte (in unserem Fall einer Spalte ) eine Überschrift zuweisen , MoreThan500
indem Sie den entsprechenden Text in die Zelle schreiben E1
. Danach können Sie in die Zelle E2
Folgendes eingeben:=IF([@Sales]>500, "Yes", "No")
Verwenden der IF-Funktion in ExcelUm 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 Listeneinschlussein 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 VLOOKUP
empfehlen 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 sales
Spaltenüberschrift auf dem Blatt, F
während wir State
die 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 ExcelIn Python können Sie dasselbe mit der Methodemerge
von 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:- Das erste Argument für die Methode
merge
ist der ursprüngliche Datenrahmen. - Das zweite Argument ist der Datenrahmen, in dem wir nach Werten suchen.
- Das Argument
how
gibt genau an, wie wir die Daten verbinden möchten. - Das Argument
on
zeigt auf die Variable, mit der die Verbindung ausgeführt werden soll (hier können Sie weiterhin die Argumente verwenden left_on
und 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 ExcelWie Sie sehen, ziehen Sie zum Erstellen einer solchen Tabelle einfach das FeldCity
in den AbschnittRows
und das FeldSales
in 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:- Hier verwenden wir eine Methode
sales.pivot_table
, die Pandas mitteilt, dass wir eine Pivot-Tabelle basierend auf einem Datenrahmen erstellen möchten sales
. - Das Argument
index
zeigt auf die Spalte, nach der die Daten aggregiert werden sollen. - Das Argument
values
gibt an, welche Werte aggregiert werden sollen. - Das Argument
aggfunc
gibt die Funktion , dass wir bei der Verarbeitung von Werten verwendet werden sollen (hier kann man noch die Funktionen mean
, max
, min
und so weiter).
Zusammenfassung
In diesem Material haben Sie gelernt, wie Sie Excel-Daten in Pandas importieren, die Funktionen von Excel-Funktionen IF
und Pandas von Python-Tools implementierenVLOOKUP
sowie 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. , .
