Blog
Fünf Python-Tipps, die Sie in den meisten Lehrplänen nicht finden werden

Unser Kurs Python für Datenanalyse bei der Xebia Data Academy hat sich seit mindestens fünf Jahren bewährt (mit kleinen Änderungen, um ihn ständig zu verbessern). Er ist vollgepackt mit den Python-Grundlagen: Datentypen, Schleifen, Funktionen und Kernkonzepte von Pandas: .assign(),.loc[], und .groupby().
Aber was Sie in der Kursübersicht nicht lesen werden:
Ich gebe immer ein paar zusätzliche Tipps und Tricks. Sie sind zwar nicht offiziell Teil des Kurses, aber sie ziehen trotzdem einige der besten Fragen und die größten "Aha"-Momente an.
Sei es, weil jemand fragt : "Gibt es ein BETWEEN in Python?" oder weil ich einfach nicht anders kann (weil f-Zeichenketten großartig sind), hier sind fünf Bonusthemen, die ich in jeden Kurs einbaue.
1. Methoden vs. Funktionen: Die Python-Identitätskrise, die jeder irgendwann einmal hat
In jedem Kurs, den ich unterrichte, bin ich immer auf ein Stöhnen oder verwirrte Gesichter vorbereitet, und sie kommen immer dann auf, wenn es Zeit ist, über die Python-Syntax zu sprechen. Irgendwann wird eine Frage wie diese auftauchen:
"Warum verwende ich type(list)anstelle von
list.append()?"
Die Verwirrung um die Syntax ist in der Regel auf die Unterschiede zwischen Funktionen und Methoden zurückzuführen.
- Funktionen sind eigenständig und nehmen eine Vielzahl verschiedener Datentypen als Eingabe an -
type()nimmt jeden Datentyp an, wobei len für jeden array-ähnlichen Datentyp (Listen, Strings, Tupel usw.) verwendet werden kann. - Methoden sind Funktionen , die an Objekte angehängt sind. So ist
eine Methode, die eine Liste durch Hinzufügen eines einzelnen Elements aktualisiert. Es macht keinen Sinn, die append-Methode auf etwas wie eine Ganzzahl anzuwenden, also ist sie nur an den Datentyp Liste gebunden.
Dieser 5-minütige Abstecher zahlt sich aus - wenn Sie dies frühzeitig verstehen, können Sie die Dokumentation lesen, Code debuggen und die Syntax viel schneller erfassen.
2. Pandas Methoden, von denen Sie nicht wussten, dass Sie sie brauchen: .isin() und .between()
Die SQL-Anwender, die an unseren Kursen teilnehmen, atmen erleichtert auf, wenn ich ihnen diese vertrauten Freunde zeige:
df.loc[df['category'].isin(['A', 'B', 'C'])]
➝ Genau wieWHERE category IN ('A', 'B', 'C')df[df['score'].between(50, 80)]
➝ Genau wieWHERE score BETWEEN 50 AND 80
Damit entfällt die Notwendigkeit, Filter mit den Operatoren and (`&`) / or (`|`) zu kombinieren, und AND bildet eine nützliche Brücke von SQL zu Python. Noch besser: Die Methode `between` hat die optionale inclusive Parameter für mehr Kontrolle - etwas, das in Native SQL nicht angeboten wird.
3. .size vs. .count(): Subtile und wichtige Unterschiede
Bei der Gruppierung von Daten in Pandas greifen Studenten oft zu .count() ohne sich darüber im Klaren zu sein, was es eigentlich tut oder welche anderen Optionen es gibt. Ich freue mich über die Gelegenheit, ihnen diesen subtilen Unterschied bei der Arbeit zeigen zu können.
Nehmen wir an, wir haben einen Datenrahmen df:
Der folgende Code erzeugt zwei unterschiedliche Werte bei der Anwendung von count vs size:
Haben Sie die NaN-Werte in der Namensspalte entdeckt? Dies öffnet die Tür zu einer Diskussion über fehlende Werte (NaNs in Pandas) und wie .count() sie ignoriert, während .size nicht. Und für die SQL-Fans im Hintergrund:
COUNT(column)in SQL =.count()in PandasCOUNT(*)in SQL =.size()in pandas
Es ist ein kleiner Unterschied, aber er löst große Fragen wie Warum sind meine Zählungen falsch? Warum fehlt eine Gruppe? Wo sind die fehlenden Werte geblieben?
4. f-Strings: Weil Lesbarkeit Gold wert ist
Sobald die Lernenden mit Variablen und Strings vertraut sind, kann ich ihnen die f-Strings einfach nicht mehr vorenthalten:
Mit einer f-Zeichenkette
name = "Lucy"
height = 171
print(f"Hello, my name is {name} and I am {height / 100:.2f}m!")
ohne eine f-Zeichenkette 🙁
name = "Lucy"
height = 171
print("Hello, my name is " + name + " and I am " + str(height / 100) + "m!")
Sie sind einfach, sauber und viel einfacher als das Jonglieren mit Strings, Verkettung und Typ-Casting. Sie sind nicht nur cool, sondern Sie werden sie auch immer wieder sehen, denn sie können ein nützliches Werkzeug sein, um Beschriftungen, Dateipfade oder dynamische Abfragen zu erstellen, die in Datenworkflows sehr häufig vorkommen.
5. Lambda-Funktionen + GroupBy: Benutzerdefinierte Aggregationsmagie
Ich verwende den Begriff Magie in der Ausbildung nicht gerne, denn er kann dazu führen, dass sich die Dinge unzugänglich anfühlen. Aber ehrlich gesagt, wenn ich benutzerdefinierte Aggregationen in einem Groupby verwende, habe ich das Gefühl, dass ich mit Magie spiele.
Nehmen wir an, Sie möchten den Bereich der range Methode, die in Pandas eingebaut ist, was ist also Ihre Option? Wahrscheinlich so etwas wie das hier:
Na toll, und wie macht man das jetzt in einem Groupby? Nun, Sie können ein groupby mit einer Lambda-Funktion kombinieren:
Ich verwende diesen Trick so oft in meinem täglichen Code, dass es sich falsch anfühlt, ihn zu verbergen. Jetzt können auch Sie mit diesem kleinen Zaubertrick spielen!
Fünf Python-Tricks von Xebia Academy
Diese fünf Extras sind nicht offiziell vorgeschrieben - nennen Sie sie inoffizielle Extras, Teaching Hacks oder Python-Partytricks, wenn Sie so wollen - aber sie lösen immer die besten Fragen und aufschlussreichen "Aha"-Momente aus und das sind die Momente, die haften bleiben.
----
Möchten Sie Ihre Python-Kenntnisse verbessern?
Nehmen Sie an dem kommenden Kurs "Python für Datenanalyse " teil - ich werde die Sitzungen leiten und würde mich freuen, Sie dort zu sehen!
Verfasst von

Lucy Sheppard
Principal Data Educator
Unsere Ideen
Weitere Blogs
Contact



