Hier finden Sie einen kurzen Überblick über jede Methode und ihre Funktionen: ","read_csv()",": Lädt Daten aus einer CSV-Datei in einen Pandas DataFrame.","head()",": Zeigt die ersten Zeilen des DataFrame an.","info()",": Bietet eine kurze Zusammenfassung des DataFrame, einschließlich Spaltentypen und fehlender Werte.","beschreiben()",": Erzeugt deskriptive Statistiken für numerische Spalten.","isnull()",": Identifiziert fehlende Daten im DataFrame.","dropna()",": Entfernt Zeilen oder Spalten mit fehlenden Daten.","fillna()",": Ersetzt die fehlenden Daten durch die angegebenen Werte.","groupby()",": Gruppiert Daten auf der Grundlage einer oder mehrerer Spalten und wendet Aggregatfunktionen an.","sort_values()",": Sortiert den DataFrame nach einer oder mehreren Spalten.","apply()",": Wendet benutzerdefinierte Funktionen auf Zeilen oder Spalten des DataFrame an.","Voraussetzungen"," Stellen Sie zunächst sicher, dass Python auf Ihrem Rechner installiert ist. Wenn dies nicht der Fall ist, können Sie es über diesen Link herunterladen.
Sobald Python eingerichtet ist, überprüfen Sie, ob die Pandas-Bibliothek installiert ist. Wenn dies nicht der Fall ist, können Sie sie mit dem folgenden Befehl hinzufügen: ","pip install pandas"," Für unsere Beispiele werden wir den folgenden Immobilien-Dummy-Datensatz verwenden: ","EigenschaftID","Standort","Schlafräume","Bäder","Preis","SquareFootage","ListingDate","101","New York","3","2","750000","1800","2023-05-15","102","San Francisco","1","850000","1400","2023-06-01","103","Los Angeles","4","2500","2023-04-10","104","Chicago","650000","1700","105","Miami","5","1200000","3500","2023-03-22","106","Houston","450000","2000","2023-07-01","Die 10 wichtigsten Pandas-Funktionen und -Methoden","1. read_csv(): Lädt Daten aus einer CSV-Datei in einen Pandas DataFrame."," Der erste Schritt bei der Verwendung von Pandas ist das Laden Ihrer Daten, um sie für die Verarbeitung oder Analyse vorzubereiten. Eine der gängigsten Methoden zum Importieren von Daten in einen Pandas DataFrame ist die Funktion read_csv(). ","Code-Beispiel:","import pandas as pd\n# Laden des Datensatzes in einen Pandas DataFrame\nfile_path = \"real_estate_listings.csv\" # Ersetzen Sie durch Ihren tatsächlichen Dateipfad\n\n# Erstellen Sie den DataFrame\ndf = pd.read_csv(file_path)","wie pd","pandas.read_csv()","pd.read_csv()"," Zunächst importieren wir die Pandas-Bibliothek. Verwendung von "," ist eine gängige Konvention unter Entwicklern, um den Code zu vereinfachen. Zum Beispiel, anstatt zu schreiben ","können wir einfach verwenden ","Dadurch wird der Code übersichtlicher und leichter zu lesen. ","lesen_csv"," Als nächstes geben Sie den Pfad zu der CSV-Datei an, die Sie in einen Pandas DataFrame laden möchten. Erstellen Sie dann eine Variable und verwenden Sie die "," Methode, um die Datei in den DataFrame zu laden. ","Wichtige Parameter:"," Lassen Sie uns nun einige wichtige Parameter untersuchen, die dieser Methode folgen: ","Begrenzungszeichen:"," Geben Sie das in der CSV-Datei verwendete Begrenzungszeichen an (z. B. ,, ;, \\t).","df = pd.read_csv(file_path, delimiter=',')","index_col",": In unserer Tabelle wird jedes Immobilienangebot durch eine ID identifiziert, die im Feld \"","Spalte\". Um sicherzustellen, dass Pandas diese Spalte als eindeutigen Bezeichner für jede Eigenschaft verwendet, können wir sie explizit als ID-Spalte festlegen. Andernfalls wird Pandas automatisch seine eigenen ID-Werte für jede Auflistung generieren und zuweisen.","df = pd.read_csv(file_path, index_col='PropertyID')","usecols",": Wenn Ihre CSV-Datei zahlreiche Spalten enthält, Sie aber nur einige wenige benötigen, können Sie dies mit Pandas leicht über einen bestimmten Parameter erreichen.","df = pd.read_csv(file_path, usecols=['Ort', 'Preis', 'Zimmer'])","2. head() und tail(): Daten inspizieren","tail()"," Nun, da die Daten in den DataFrame geladen sind, können wir damit beginnen, sie zu untersuchen. Dazu bietet Pandas zwei sehr praktische Methoden: "," und ",". Diese Methoden sind unerlässlich, um die ersten oder letzten Zeilen Ihres Datensatzes schnell zu überprüfen. ","head(): Diese Methode zeigt standardmäßig die ersten 5 Zeilen des Datensatzes an. Sie ist besonders nützlich, um zu überprüfen, ob die Daten korrekt geladen wurden und um ihre Struktur zu kontrollieren.","tail(): Diese Methode funktioniert ähnlich wie head(), zeigt aber stattdessen die letzten Zeilen an. Sie ist hilfreich, um das Ende des Datensatzes zu untersuchen, insbesondere wenn geprüft werden soll, ob die Daten vollständig sind oder die letzten Datensätze fehlende Werte aufweisen.","# Die ersten 5 Zeilen anzeigen\nprint(df.head())\n# Die letzten 3 Zeilen anzeigen\nprint(df.tail(3))\n"," Ausgabe von ",": ","3. info() - Verstehen der DataFrame-Struktur"," Die Funktion info() liefert eine knappe Zusammenfassung des DataFrame. Sie enthält Details wie zum Beispiel: ","Die Anzahl der Zeilen und Spalten.","Spaltennamen und ihre Datentypen.","Die Anzahl der Nicht-Null-Werte in jeder Spalte."," Diese Methode ist nützlich, um die Struktur Ihres Datensatzes schnell zu verstehen und Probleme wie fehlende Werte oder falsche Datentypen aufzuspüren. ","# Eine knappe Zusammenfassung des DataFrame erhalten\nprint(df.info())"," Der obige Code erzeugt die folgende Ausgabe: ","<class 'pandas.core.frame.DataFrame'>\nRangeIndex: 6 entries, 0 to 5\nData columns (total 7 columns):\n# Column Non-Null Count Dtype \n--- ------ -------------- ----- \n0 PropertyID 6 non-null int64 \n1 Location 6 non-null object\n2 Bedrooms 6 non-null int64 \n3 Bathrooms 6 non-null int64 \n4 Price 5 non-null float64\n5 SquareFootage 6 non-null int64 \n6 ListingDate 5 non-null object\ndtypes: float64(1), int64(4), object(2)\nmemory usage: 464.0+ bytes\n","4. describe(): Zusammenfassende Statistiken generieren"," Die "," Methode bietet eine schnelle Zusammenfassung der wichtigsten statistischen Kennzahlen wie ","mittlere",", ","Standardabweichung","Perzentile","und mehr. Standardmäßig, "," arbeitet mit numerischen Daten, kann aber auch kategorische Daten verarbeiten und bietet maßgeschneiderte Erkenntnisse auf der Grundlage des Datentyps. ",": Eine Liste von Zahlen zwischen 0 und 1, die angibt, welche Perzentile zurückgegeben werden sollen. Der Standardwert ist None, der das 25., 50. und 75. Perzentil zurückgibt. Mehr lesen ","hier",".","einschließen.",": Eine Liste von Datentypen, die in die Zusammenfassung aufgenommen werden sollen. Sie können Datentypen wie int, float, object (für Strings) usw. angeben. Der Standardwert ist None, d. h. alle numerischen Typen werden einbezogen.","ausschließen","Keine",": Eine Liste von Datentypen, die von der Zusammenfassung ausgeschlossen werden sollen. Dieser Parameter ist auch "," standardmäßig, d.h. es werden keine Typen ausgeschlossen.","print(df.describe())"," Die Ausgabe des Codes lautet wie folgt: "," PropertyID Standort Schlafzimmer ... Preis Quadratmeterzahl ListingDate\nAnzahl 6.000000 6 6.000000... 5.000000e+00 6.000000 5\neinzigartig NaN 6 NaN ... NaN NaN 5\ntop NaN New York NaN ... NaN NaN 2023-05-15\nfreq NaN 1 NaN ... NaN NaN 1\nMittelwert 103.500000 NaN 3.500000... 7.800000e+05 2150.000000 NaN\nstd 1.870829 NaN 1.048809... 2.774887e+05 755.645419 NaN\nmin 101.000000 NaN 2.000000... 4.500000e+05 1400.000000 NaN\n25% 102,250000 NaN 3,000000... 6.500000e+05 1725.000000 NaN\n50% 103.500000 NaN 3.500000... 7.500000e+05 1900.000000 NaN\n75% 104,750000 NaN 4,000000... 8.500000e+05 2375.000000 NaN\nmax 106,000000 NaN 5,000000... 1.200000e+06 3500.000000 NaN\n","Erläuterung der einzelnen Statistiken","Anzahl = 6","Beispiel: "," für ","und zeigt damit an, dass alle Zeilen gültige Daten enthalten.","Zählen Sie",": Die Anzahl der nicht fehlenden Einträge für jede Spalte.","Mittelwert = 3,5","was auf einen Durchschnitt von ","3,5 Schlafzimmer"," pro Grundstück.","Mittlere",": Der Durchschnittswert der Spalte.","std = 1,048809","Das bedeutet, dass die Anzahl der Schlafzimmer mäßig variiert.","Std",": Die Standardabweichung, die die Streuung der Werte vom Mittelwert angibt.","min = 2","max = 5","Min/Max",": Der kleinste und der größte Wert.","25%",": Der Wert, unter den 25 % der Daten fallen (erstes Quartil).","50%",": Der Medianwert.","75%",": Der Wert, unter den 75% der Daten fallen (drittes Quartil).","25%, 50%, 75% (Quartile)",": Sie stellen die Verteilung der Daten dar:","5. isnull(): Fehlende Daten identifizieren","Wahr","NaN","Falsch","Summe()"," hilft, fehlende Daten in einem DataFrame zu identifizieren. Sie gibt einen DataFrame zurück, der die gleiche Form wie das Original hat, mit "," wenn Daten fehlen "," und "," sonst. Sie wird häufig in Verbindung mit anderen Funktionen wie "," um fehlende Werte über Spalten oder Zeilen hinweg zu zählen. ","# Fehlende Werteidentifizieren\nprint(df.isnull())\n# Fehlende Werte für jede Spaltezählen\nprint(df.isnull().sum())\n","df.isnull()"," Ausgabe: "," EigenschaftID Standort Schlafzimmer Bäder Preis QuadratFläche AuflistungDatum\n0 Falsch Falsch Falsch Falsch Falsch Falsch Falsch\n1 Falsch Falsch Falsch Falsch Falsch Falsch Falsch\n2 Falsch Falsch Falsch Falsch Richtig Falsch Falsch\n3 Falsch Falsch Falsch Falsch Falsch Falsch Richtig\n4 Falsch Falsch Falsch Falsch Falsch Falsch Falsch\n5 Falsch Falsch Falsch Falsch Falsch Falsch Falsch\n","df.isnull().sum()","PropertyID 0\nStandort 0\nSchlafräume 0\nBäder 0\nPreis 1\nQuadratFootage 0\nAuflistungDatum 1\ndtTyp: int64\n","6. dropna(): Fehlende Daten entfernen"," Funktion entfernt ","Zeilen"," oder ","Spalten"," mit fehlenden Daten "," aus dem DataFrame. Standardmäßig werden Zeilen mit fehlenden Werten entfernt. Sie können das Verhalten anpassen, um nur Spalten zu entfernen oder um Zeilen/Spalten zu löschen, in denen alle oder eine bestimmte Untergruppe von Werten fehlen ","# Zeilen mit fehlenden Werten löschen \ndf_dropped_rows = df.dropna()\nprint(df_dropped_rows)\n\n# Spalten mit fehlenden Werten löschen \ndf_dropped_columns = df.dropna(axis=1)\nprint(df_dropped_columns)\n"," So sieht der DataFrame nach dem Entfernen aller "," mit "," Werte: "," Hier ist der Datenrahmen mit "," Werte entfernt. ","7. fillna(): Fehlende Daten ersetzen"," Funktion ersetzt fehlende Daten "," mit bestimmten Werten. Die Pandas "," Methode behandelt und entfernt effizient Nullwerte aus einem DataFrame, während die "," Methode bietet eine flexible Lösung für den Ersatz von "," Werte mit einem bestimmten Wert Ihrer Wahl. Diese Methode bietet einen flexiblen Ansatz für den Umgang mit fehlenden Daten, indem sie es Ihnen ermöglicht, Lücken mit einem festen Wert zu füllen, dem ","Median","Modus","oder andere berechnete Statistiken. ","# df['Preis'] = df['Preis'].fillna(df['Preis'].mean()) Fehlende Werte in der Spalte 'Preis' mit dem Mittelwert füllen. \ndf['Preis'].fillna(df['Preis'].mean()) \nprint(df)"," Die Ausgabe des Codes zeigt, dass die "," Wert wurde erfolgreich durch den Durchschnittspreis ersetzt. ","780000"," Spalte enthält auch eine "," Wert. Anstatt eine Berechnung durchzuführen, können wir einfach einen Platzhalter wie \"","unbekannt",". So geht's; ","# Füllen Sie fehlende Werte in der Spalte 'ListingDate' mit einem Platzhalter.\ndf['ListingDate'] = df['ListingDate'].fillna('Unknown')\nprint(df)\n"," Der Datenrahmen sieht nun wie folgt aus: ","Unbekannt","8. groupby(): Gruppieren und Aggregieren von Daten"," Die Funktion groupby() in Pandas ist ein vielseitiges und leistungsfähiges Werkzeug, um einen DataFrame auf der Grundlage einer oder mehrerer Spalten in Gruppen zu unterteilen und so eine effiziente Datenanalyse und -aggregation zu ermöglichen.
Sie arbeitet nach dem Prinzip Aufteilen - Anwenden - Kombinieren:
teilt die Daten zunächst in Gruppen auf;
wendet anschließend eine bestimmte Funktion auf jede Gruppe an;
kombiniert die Ergebnisse schließlich zu einem neuen DataFrame.
Dieser rationalisierte Ansatz vereinfacht komplexe Datenmanipulationsaufgaben und erhöht die analytische Effizienz. "," Sie können z. B. den Durchschnittspreis von Immobilien nach Standort berechnen oder die Anzahl der Inserate pro Schlafzimmerkategorie zählen. ","# Gruppieren nach 'Ort' und Berechnen des Durchschnittspreises\navg_price_by_location = df.groupby('Location')['Price'].mean()\nprint(avg_price_by_location)\n# Nach 'Schlafzimmern' gruppieren und die Gesamtquadratmeterzahl berechnen\ntotal_sqft_by_bedrooms = df.groupby('Bedrooms')['SquareFootage'].sum()\nprint(gesamt_quadratmeter_nach_schlafzimmern)\n# Nach mehreren Spalten gruppieren und die Anzahl berechnen\ncount_by_location_bedrooms = df.groupby(['Location', 'Bedrooms']).size()\nprint(zaehlen_nach_Ort_Schlafzimmern)\n","Durchschnittspreis nach Standort:","Standort\nChicago 650000.0\nHouston 450000.0\nLos Angeles NaN\nMiami 1200000.0\nNew York 750000.0\nSan Francisco 850000,0\nName: Preis, dtype: float64\n","Gesamtquadratmeterzahl nach Schlafzimmern:","Schlafräume\n2 1400\n3 3500\n4 4500\n5 3500\n","Zählung nach Standort und Zimmern:","Standort Schlafzimmer\nChicago 3 1\nHouston 4 1\nLos Angeles 4 1\nMiami 5 1\nNew York 3 1\nSan Francisco 2 1\ndtype: int64\n","9. sort_values(): Daten sortieren"," Die Funktion sort_values() wird verwendet, um Ihren DataFrame nach einer oder mehreren Spalten zu sortieren, entweder in aufsteigender oder absteigender Reihenfolge. Die Sortierung ist wichtig, um Daten in eine Rangfolge zu bringen, Extremwerte zu identifizieren (z. B. die teuersten Immobilien) oder einfach den Datensatz zur besseren Lesbarkeit zu organisieren. ","# Sortieren nach 'Preis' in absteigender Reihenfolge\ndf_sorted_by_price = df.sort_values(by='Preis', ascending=False)\nprint(df_sorted_by_price)\n# Sortieren nach 'Ort' in aufsteigender Reihenfolge\ndf_sortiert_nach_Ort = df.sort_values(by='Ort')\nprint(df_sortiert_nach_Ort)\n# Nach mehreren Spalten sortieren: zuerst nach 'Schlafzimmern' (aufsteigend) und dann nach 'Preis' (absteigend)\ndf_sorted_by_bedrooms_price = df.sort_values(by=['Bedrooms', 'Price'], ascending=[True, False])\nprint(df_sortiert_nach_Schlafzimmern_Preis)\n","Sortieren nach Preis (absteigend):"," PropertyID Standort Schlafzimmer ... Preis Quadratmeterzahl ListingDate\n4 105 Miami 5... 1200000.0 3500 2023-03-22\n1 102 San Francisco 2... 850000.0 1400 2023-06-01\n0 101 New York 3... 750000.0 1800 2023-05-15\n3 104 Chicago 3... 650000.0 1700 NaN\n5 106 Houston 4... 450000.0 2000 2023-07-01\n2 103 Los Angeles 4... NaN 2500 2023-04-10","Nach Ort sortieren (aufsteigend):","[6 Zeilen x 7 Spalten]\n PropertyID Lage Schlafzimmer ... Preis Quadratmeterzahl ListingDate\n3 104 Chicago 3 . .. 650000.0 1700 NaN\n5 106 Houston 4 . .. 450000.0 2000 2023-07-01\n2 103 Los Angeles 4 . .. NaN 2500 2023-04-10\n4 105 Miami 5 . .. 1200000.0 3500 2023-03-22\n0 101 New York 3 . .. 750000.0 1800 2023-05-15\n1 102 San Francisco 2 . .. 850000.0 1400 2023-06-01\n","Sortierung nach Schlafzimmern (aufsteigend) und Preis (absteigend):"," PropertyID Standort Schlafzimmer ... Preis Quadratmeterzahl ListingDatum\n1 102 San Francisco 2... 850000.0 1400 2023-06-01\n0 101 New York 3... 750000.0 1800 2023-05-15\n3 104 Chicago 3... 650000.0 1700 NaN\n5 106 Houston 4... 450000.0 2000 2023-07-01\n2 103 Los Angeles 4... NaN 2500 2023-04-10\n4 105 Miami 5... 1200000.0 3500 2023-03-22\n","10. apply(): Benutzerdefinierte Funktionen auf Daten anwenden"," Mit der Funktion apply() können Sie benutzerdefinierte Funktionen auf Zeilen oder Spalten in einem DataFrame anwenden. Sie ist eine leistungsfähige Methode zur Durchführung von elementweisen Transformationen, Berechnungen oder bedingten Operationen, die über die eingebauten Pandas-Funktionen hinausgehen. "," Im folgenden Beispiel wollen wir eine neue Spalte zur Berechnung des Preises pro Quadratfuß erstellen. ","# Definieren Sie eine benutzerdefinierte Funktion zur Berechnung des Preises pro Quadratfuß\ndef preis_pro_quadratfuss(preis, quadratfuss):\n return Preis / Quadratmeter if Quadratmeter != 0 else 0\n\n# Wenden Sie die benutzerdefinierte Funktion an , um eine neue Spalte zu erstellen.\ndf['PricePerSqFt'] = df.apply(lambda row: price_per_sqft(row['Price'], row['SquareFootage']), axis=1)\nprint(df)\n","Hier ist die Ausgabe des obigen Codes:"," PropertyID Standort Schlafzimmer ... QuadratFläche ListingDate PricePerSqFt\n0 101 New York 3... 1800 2023-05-15 416.666667\n1 102 San Francisco 2... 1400 2023-06-01 607.142857\n2 103 Los Angeles 4... 2500 2023-04-10 NaN\n3 104 Chicago 3... 1700 NaN 382.352941\n4 105 Miami 5... 3500 2023-03-22 342.857143\n5 106 Houston 4... 2000 2023-07-01 225.000000\n"," Ein weiteres Beispiel könnte die Umwandlung von Ortsnamen in Großbuchstaben sein; ","# Eine Transformation anwenden, um alle Ortsnamen in Großbuchstaben zu schreiben\ndf['Ort'] = df['Ort'].apply(lambda x: x.upper())\nprint(df)\n","Das sieht folgendermaßen aus:"," PropertyID Standort Schlafzimmer ... Preis Quadratmeterzahl ListingDate\n0 101 NEW YORK 3... 750000.0 1800 2023-05-15\n1 102 SAN FRANCISCO 2... 850000.0 1400 2023-06-01\n2 103 LOS ANGELES 4... NaN 2500 2023-04-10\n3 104 CHICAGO 3... 650000.0 1700 NaN\n4 105 MIAMI 5... 1200000.0 3500 2023-03-22\n5 106 HOUSTON 4... 450000.0 2000 2023-07-01","Schlussfolgerung"," In diesem Handbuch haben wir 10 wesentliche Pandas-Funktionen für die Datenanalyse untersucht, vom Laden und Prüfen von Daten mit "," zur Reinigung und Umwandlung mit Methoden wie ","und ",". Diese Funktionen bilden die Grundlage eines jeden Datenanalyse-Workflows und ermöglichen es Ihnen, Datensätze effektiv zu bereinigen, zu bearbeiten und zusammenzufassen. Die Beherrschung dieser Funktionen bereitet Sie darauf vor, reale Datenherausforderungen sicher zu bewältigen. Fangen Sie noch heute an zu üben, und entdecken Sie, wie diese Werkzeuge Ihre Analyseaufgaben vereinfachen können! ","von: ProxyScrape","Tippen Sie hier, um zu suchen...","Neueste Beiträge","How to Handle Pagination in Web Scraping using Python","Exporting Web Scraped Data to CSV, JSON, and Databases ","Einführung in das Web-Parsing in Python mit Parsel","Web Scraping mit der Programmiersprache PHP","leicht proxyscrape logo","https://proxyscrape.com/static/light_text_logo.svg","Sie suchen Hilfe mit unseren Vollmachten oder
wollen helfen? Hier sind Ihre Möglichkeiten:","Crunchbase","Über uns","Vielen Dank an alle für die großartige Unterstützung!","Schnelle Links","Partnerprogramm","Prämie","ProxyScrape Premium-Studie","Proxy-Typen","Proxy-Länder","Proxy-Einsatzfälle","Wichtig","Cookie-Politik","Haftungsausschluss","Datenschutzbestimmungen","Bedingungen und Konditionen","Soziale Medien","Facebook","LinkedIn","Twitter","Quora","Telegramm","Diskord","\n © Copyright 2025 - Thib BV | Brugstraat 18 | 2812 Mechelen | Belgien | VAT BE 0749 716 760\n"]}
Pandas ist die bevorzugte Bibliothek für Datenanalysten und Python-Programmierer, die sich in die Welt der Datenmanipulation und -analyse wagen. Die intuitive Syntax und die leistungsstarken Datenstrukturen machen den Umgang mit großen Datensätzen nicht nur überschaubar, sondern auch effizient. Ganz gleich, ob Sie CSV-Dateien importieren, unübersichtliche Datensätze bereinigen oder Datentrends analysieren möchten, Pandas hat die Werkzeuge, die Sie brauchen.
Wenn Sie gerade erst mit dem Erlernen von Pandas beginnen, wird Ihnen dieser Beitrag 10 wichtige Funktionen und Methoden vorstellen, die jeder Anfänger beherrschen sollte. Diese Funktionen helfen Ihnen, Daten mit Leichtigkeit zu laden, zu überprüfen, zu bereinigen und zu analysieren.
Hier finden Sie einen kurzen Überblick über jede Methode und ihre Funktionen:
read_csv()
: Lädt Daten aus einer CSV-Datei in einen Pandas DataFrame.head()
: Zeigt die ersten Zeilen des DataFrame an.info()
: Bietet eine kurze Zusammenfassung des DataFrame, einschließlich Spaltentypen und fehlender Werte.beschreiben()
: Erzeugt deskriptive Statistiken für numerische Spalten.isnull()
: Identifiziert fehlende Daten im DataFrame.dropna()
: Entfernt Zeilen oder Spalten mit fehlenden Daten.fillna()
: Ersetzt die fehlenden Daten durch die angegebenen Werte.groupby()
: Gruppiert Daten auf der Grundlage einer oder mehrerer Spalten und wendet Aggregatfunktionen an.sort_values()
: Sortiert den DataFrame nach einer oder mehreren Spalten.apply()
: Wendet benutzerdefinierte Funktionen auf Zeilen oder Spalten des DataFrame an. Stellen Sie zunächst sicher, dass Python auf Ihrem Rechner installiert ist. Wenn dies nicht der Fall ist, können Sie es über diesen Link herunterladen.
Sobald Python eingerichtet ist, überprüfen Sie, ob die Pandas-Bibliothek installiert ist. Wenn dies nicht der Fall ist, können Sie sie mit dem folgenden Befehl hinzufügen:
pip install pandas
Für unsere Beispiele werden wir den folgenden Immobilien-Dummy-Datensatz verwenden:
EigenschaftID | Standort | Schlafräume | Bäder | Preis | SquareFootage | ListingDate |
101 | New York | 3 | 2 | 750000 | 1800 | 2023-05-15 |
102 | San Francisco | 2 | 1 | 850000 | 1400 | 2023-06-01 |
103 | Los Angeles | 4 | 3 | 2500 | 2023-04-10 | |
104 | Chicago | 3 | 2 | 650000 | 1700 | |
105 | Miami | 5 | 4 | 1200000 | 3500 | 2023-03-22 |
106 | Houston | 4 | 3 | 450000 | 2000 | 2023-07-01 |
Der erste Schritt bei der Verwendung von Pandas ist das Laden Ihrer Daten, um sie für die Verarbeitung oder Analyse vorzubereiten. Eine der gängigsten Methoden zum Importieren von Daten in einen Pandas DataFrame ist die Funktion read_csv().
import pandas as pd
# Laden des Datensatzes in einen Pandas DataFrame
file_path = "real_estate_listings.csv" # Ersetzen Sie durch Ihren tatsächlichen Dateipfad
# Erstellen Sie den DataFrame
df = pd.read_csv(file_path)
Zunächst importieren wir die Pandas-Bibliothek. Verwendung von wie pd
ist eine gängige Konvention unter Entwicklern, um den Code zu vereinfachen. Zum Beispiel, anstatt zu schreiben pandas.read_csv()
können wir einfach verwenden pd.read_csv()
Dadurch wird der Code übersichtlicher und leichter zu lesen.
Als nächstes geben Sie den Pfad zu der CSV-Datei an, die Sie in einen Pandas DataFrame laden möchten. Erstellen Sie dann eine Variable und verwenden Sie die lesen_csv
Methode, um die Datei in den DataFrame zu laden.
Lassen Sie uns nun einige wichtige Parameter untersuchen, die dieser Methode folgen:
Begrenzungszeichen:
Geben Sie das in der CSV-Datei verwendete Begrenzungszeichen an (z. B. ,, ;, \t).df = pd.read_csv(file_path, delimiter=',')
index_col
: In unserer Tabelle wird jedes Immobilienangebot durch eine ID identifiziert, die im Feld "EigenschaftIDSpalte". Um sicherzustellen, dass Pandas diese Spalte als eindeutigen Bezeichner für jede Eigenschaft verwendet, können wir sie explizit als ID-Spalte festlegen. Andernfalls wird Pandas automatisch seine eigenen ID-Werte für jede Auflistung generieren und zuweisen.df = pd.read_csv(file_path, index_col='PropertyID')
usecols
: Wenn Ihre CSV-Datei zahlreiche Spalten enthält, Sie aber nur einige wenige benötigen, können Sie dies mit Pandas leicht über einen bestimmten Parameter erreichen.df = pd.read_csv(file_path, usecols=['Ort', 'Preis', 'Zimmer'])
Nun, da die Daten in den DataFrame geladen sind, können wir damit beginnen, sie zu untersuchen. Dazu bietet Pandas zwei sehr praktische Methoden: head()
und tail()
. Diese Methoden sind unerlässlich, um die ersten oder letzten Zeilen Ihres Datensatzes schnell zu überprüfen.
# Die ersten 5 Zeilen anzeigen
print(df.head())
# Die letzten 3 Zeilen anzeigen
print(df.tail(3))
Ausgabe von head()
:
EigenschaftID | Standort | Schlafräume | Bäder | Preis | SquareFootage | ListingDate |
101 | New York | 3 | 2 | 750000 | 1800 | 2023-05-15 |
102 | San Francisco | 2 | 1 | 850000 | 1400 | 2023-06-01 |
103 | Los Angeles | 4 | 3 | 2500 | 2023-04-10 | |
104 | Chicago | 3 | 2 | 650000 | 1700 | |
105 | Miami | 5 | 4 | 1200000 | 3500 | 2023-03-22 |
Ausgabe von tail()
:
EigenschaftID | Standort | Schlafräume | Bäder | Preis | SquareFootage | ListingDate |
104 | Chicago | 3 | 2 | 650000 | 1700 | |
105 | Miami | 5 | 4 | 1200000 | 3500 | 2023-03-22 |
106 | Houston | 4 | 3 | 450000 | 2000 | 2023-07-01 |
Die Funktion info() liefert eine knappe Zusammenfassung des DataFrame. Sie enthält Details wie zum Beispiel:
Diese Methode ist nützlich, um die Struktur Ihres Datensatzes schnell zu verstehen und Probleme wie fehlende Werte oder falsche Datentypen aufzuspüren.
# Eine knappe Zusammenfassung des DataFrame erhalten
print(df.info())
Der obige Code erzeugt die folgende Ausgabe:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 6 entries, 0 to 5
Data columns (total 7 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 PropertyID 6 non-null int64
1 Location 6 non-null object
2 Bedrooms 6 non-null int64
3 Bathrooms 6 non-null int64
4 Price 5 non-null float64
5 SquareFootage 6 non-null int64
6 ListingDate 5 non-null object
dtypes: float64(1), int64(4), object(2)
memory usage: 464.0+ bytes
Die beschreiben() Methode bietet eine schnelle Zusammenfassung der wichtigsten statistischen Kennzahlen wie mittlere, Standardabweichung, Perzentileund mehr. Standardmäßig, beschreiben()
arbeitet mit numerischen Daten, kann aber auch kategorische Daten verarbeiten und bietet maßgeschneiderte Erkenntnisse auf der Grundlage des Datentyps.
Perzentile
: Eine Liste von Zahlen zwischen 0 und 1, die angibt, welche Perzentile zurückgegeben werden sollen. Der Standardwert ist None, der das 25., 50. und 75. Perzentil zurückgibt. Mehr lesen hier.einschließen.
: Eine Liste von Datentypen, die in die Zusammenfassung aufgenommen werden sollen. Sie können Datentypen wie int, float, object (für Strings) usw. angeben. Der Standardwert ist None, d. h. alle numerischen Typen werden einbezogen.ausschließen
: Eine Liste von Datentypen, die von der Zusammenfassung ausgeschlossen werden sollen. Dieser Parameter ist auch Keine
standardmäßig, d.h. es werden keine Typen ausgeschlossen.print(df.describe())
Die Ausgabe des Codes lautet wie folgt:
PropertyID Standort Schlafzimmer ... Preis Quadratmeterzahl ListingDate
Anzahl 6.000000 6 6.000000... 5.000000e+00 6.000000 5
einzigartig NaN 6 NaN ... NaN NaN 5
top NaN New York NaN ... NaN NaN 2023-05-15
freq NaN 1 NaN ... NaN NaN 1
Mittelwert 103.500000 NaN 3.500000... 7.800000e+05 2150.000000 NaN
std 1.870829 NaN 1.048809... 2.774887e+05 755.645419 NaN
min 101.000000 NaN 2.000000... 4.500000e+05 1400.000000 NaN
25% 102,250000 NaN 3,000000... 6.500000e+05 1725.000000 NaN
50% 103.500000 NaN 3.500000... 7.500000e+05 1900.000000 NaN
75% 104,750000 NaN 4,000000... 8.500000e+05 2375.000000 NaN
max 106,000000 NaN 5,000000... 1.200000e+06 3500.000000 NaN
Anzahl = 6
für Schlafräumeund zeigt damit an, dass alle Zeilen gültige Daten enthalten.Mittelwert = 3,5
für Schlafräumewas auf einen Durchschnitt von 3,5 Schlafzimmer pro Grundstück.std = 1,048809
für SchlafräumeDas bedeutet, dass die Anzahl der Schlafzimmer mäßig variiert.min = 2
und max = 5
für Schlafräume.25%
: Der Wert, unter den 25 % der Daten fallen (erstes Quartil).50%
: Der Medianwert.75%
: Der Wert, unter den 75% der Daten fallen (drittes Quartil). Die isnull() hilft, fehlende Daten in einem DataFrame zu identifizieren. Sie gibt einen DataFrame zurück, der die gleiche Form wie das Original hat, mit Wahr
wenn Daten fehlen NaN
und Falsch
sonst. Sie wird häufig in Verbindung mit anderen Funktionen wie Summe()
um fehlende Werte über Spalten oder Zeilen hinweg zu zählen.
# Fehlende Werteidentifizieren
print(df.isnull())
# Fehlende Werte für jede Spaltezählen
print(df.isnull().sum())
df.isnull()
Ausgabe:
EigenschaftID Standort Schlafzimmer Bäder Preis QuadratFläche AuflistungDatum
0 Falsch Falsch Falsch Falsch Falsch Falsch Falsch
1 Falsch Falsch Falsch Falsch Falsch Falsch Falsch
2 Falsch Falsch Falsch Falsch Richtig Falsch Falsch
3 Falsch Falsch Falsch Falsch Falsch Falsch Richtig
4 Falsch Falsch Falsch Falsch Falsch Falsch Falsch
5 Falsch Falsch Falsch Falsch Falsch Falsch Falsch
df.isnull().sum()
Ausgabe:
PropertyID 0
Standort 0
Schlafräume 0
Bäder 0
Preis 1
QuadratFootage 0
AuflistungDatum 1
dtTyp: int64
Die dropna() Funktion entfernt Zeilen oder Spalten mit fehlenden Daten NaN
aus dem DataFrame. Standardmäßig werden Zeilen mit fehlenden Werten entfernt. Sie können das Verhalten anpassen, um nur Spalten zu entfernen oder um Zeilen/Spalten zu löschen, in denen alle oder eine bestimmte Untergruppe von Werten fehlen
# Zeilen mit fehlenden Werten löschen
df_dropped_rows = df.dropna()
print(df_dropped_rows)
# Spalten mit fehlenden Werten löschen
df_dropped_columns = df.dropna(axis=1)
print(df_dropped_columns)
So sieht der DataFrame nach dem Entfernen aller Zeilen mit NaN
Werte:
EigenschaftID | Standort | Schlafräume | Bäder | Preis | SquareFootage | ListingDate |
101 | New York | 3 | 2 | 750000 | 1800 | 2023-05-15 |
102 | San Francisco | 2 | 1 | 850000 | 1400 | 2023-06-01 |
105 | Miami | 5 | 4 | 1200000 | 3500 | 2023-03-22 |
106 | Houston | 4 | 3 | 450000 | 2000 | 2023-07-01 |
Hier ist der Datenrahmen mit Spalten mit NaN
Werte entfernt.
EigenschaftID | Standort | Schlafräume | Bäder | SquareFootage |
101 | New York | 3 | 2 | 1800 |
102 | San Francisco | 2 | 1 | 1400 |
103 | Los Angeles | 4 | 3 | 2500 |
104 | Chicago | 3 | 2 | 1700 |
105 | Miami | 5 | 4 | 3500 |
106 | Houston | 4 | 3 | 2000 |
Die fillna() Funktion ersetzt fehlende Daten NaN
mit bestimmten Werten. Die Pandas dropna()
Methode behandelt und entfernt effizient Nullwerte aus einem DataFrame, während die fillna()
Methode bietet eine flexible Lösung für den Ersatz von NaN
Werte mit einem bestimmten Wert Ihrer Wahl. Diese Methode bietet einen flexiblen Ansatz für den Umgang mit fehlenden Daten, indem sie es Ihnen ermöglicht, Lücken mit einem festen Wert zu füllen, dem mittlere, Median, Modusoder andere berechnete Statistiken.
# df['Preis'] = df['Preis'].fillna(df['Preis'].mean()) Fehlende Werte in der Spalte 'Preis' mit dem Mittelwert füllen.
df['Preis'].fillna(df['Preis'].mean())
print(df)
Die Ausgabe des Codes zeigt, dass die NaN
Wert wurde erfolgreich durch den Durchschnittspreis ersetzt.
EigenschaftID | Standort | Schlafräume | Bäder | Preis | SquareFootage | ListingDate |
101 | New York | 3 | 2 | 750000 | 1800 | 2023-05-15 |
102 | San Francisco | 2 | 1 | 850000 | 1400 | 2023-06-01 |
103 | Los Angeles | 4 | 3 | 780000 | 2500 | 2023-04-10 |
104 | Chicago | 3 | 2 | 650000 | 1700 | NaN |
105 | Miami | 5 | 4 | 1200000 | 3500 | 2023-03-22 |
106 | Houston | 4 | 3 | 450000 | 2000 | 2023-07-01 |
Die ListingDate Spalte enthält auch eine NaN
Wert. Anstatt eine Berechnung durchzuführen, können wir einfach einen Platzhalter wie "unbekannt. So geht's;
# Füllen Sie fehlende Werte in der Spalte 'ListingDate' mit einem Platzhalter.
df['ListingDate'] = df['ListingDate'].fillna('Unknown')
print(df)
Der Datenrahmen sieht nun wie folgt aus:
EigenschaftID | Standort | Schlafräume | Bäder | Preis | SquareFootage | ListingDate |
101 | New York | 3 | 2 | 750000 | 1800 | 2023-05-15 |
102 | San Francisco | 2 | 1 | NaN | 1400 | 2023-06-01 |
103 | Los Angeles | 4 | 3 | 780000 | 2500 | 2023-04-10 |
104 | Chicago | 3 | 2 | 650000 | 1700 | Unbekannt |
105 | Miami | 5 | 4 | 1200000 | 3500 | 2023-03-22 |
106 | Houston | 4 | 3 | 450000 | 2000 | 2023-07-01 |
Die Funktion groupby() in Pandas ist ein vielseitiges und leistungsfähiges Werkzeug, um einen DataFrame auf der Grundlage einer oder mehrerer Spalten in Gruppen zu unterteilen und so eine effiziente Datenanalyse und -aggregation zu ermöglichen.
Sie arbeitet nach dem Prinzip Aufteilen - Anwenden - Kombinieren:
teilt die Daten zunächst in Gruppen auf;
wendet anschließend eine bestimmte Funktion auf jede Gruppe an;
kombiniert die Ergebnisse schließlich zu einem neuen DataFrame.
Dieser rationalisierte Ansatz vereinfacht komplexe Datenmanipulationsaufgaben und erhöht die analytische Effizienz.
Sie können z. B. den Durchschnittspreis von Immobilien nach Standort berechnen oder die Anzahl der Inserate pro Schlafzimmerkategorie zählen.
# Gruppieren nach 'Ort' und Berechnen des Durchschnittspreises
avg_price_by_location = df.groupby('Location')['Price'].mean()
print(avg_price_by_location)
# Nach 'Schlafzimmern' gruppieren und die Gesamtquadratmeterzahl berechnen
total_sqft_by_bedrooms = df.groupby('Bedrooms')['SquareFootage'].sum()
print(gesamt_quadratmeter_nach_schlafzimmern)
# Nach mehreren Spalten gruppieren und die Anzahl berechnen
count_by_location_bedrooms = df.groupby(['Location', 'Bedrooms']).size()
print(zaehlen_nach_Ort_Schlafzimmern)
Durchschnittspreis nach Standort:
Standort
Chicago 650000.0
Houston 450000.0
Los Angeles NaN
Miami 1200000.0
New York 750000.0
San Francisco 850000,0
Name: Preis, dtype: float64
Gesamtquadratmeterzahl nach Schlafzimmern:
Schlafräume
2 1400
3 3500
4 4500
5 3500
Zählung nach Standort und Zimmern:
Standort Schlafzimmer
Chicago 3 1
Houston 4 1
Los Angeles 4 1
Miami 5 1
New York 3 1
San Francisco 2 1
dtype: int64
Die Funktion sort_values() wird verwendet, um Ihren DataFrame nach einer oder mehreren Spalten zu sortieren, entweder in aufsteigender oder absteigender Reihenfolge. Die Sortierung ist wichtig, um Daten in eine Rangfolge zu bringen, Extremwerte zu identifizieren (z. B. die teuersten Immobilien) oder einfach den Datensatz zur besseren Lesbarkeit zu organisieren.
# Sortieren nach 'Preis' in absteigender Reihenfolge
df_sorted_by_price = df.sort_values(by='Preis', ascending=False)
print(df_sorted_by_price)
# Sortieren nach 'Ort' in aufsteigender Reihenfolge
df_sortiert_nach_Ort = df.sort_values(by='Ort')
print(df_sortiert_nach_Ort)
# Nach mehreren Spalten sortieren: zuerst nach 'Schlafzimmern' (aufsteigend) und dann nach 'Preis' (absteigend)
df_sorted_by_bedrooms_price = df.sort_values(by=['Bedrooms', 'Price'], ascending=[True, False])
print(df_sortiert_nach_Schlafzimmern_Preis)
Sortieren nach Preis (absteigend):
PropertyID Standort Schlafzimmer ... Preis Quadratmeterzahl ListingDate
4 105 Miami 5... 1200000.0 3500 2023-03-22
1 102 San Francisco 2... 850000.0 1400 2023-06-01
0 101 New York 3... 750000.0 1800 2023-05-15
3 104 Chicago 3... 650000.0 1700 NaN
5 106 Houston 4... 450000.0 2000 2023-07-01
2 103 Los Angeles 4... NaN 2500 2023-04-10
Nach Ort sortieren (aufsteigend):
[6 Zeilen x 7 Spalten]
PropertyID Lage Schlafzimmer ... Preis Quadratmeterzahl ListingDate
3 104 Chicago 3 . .. 650000.0 1700 NaN
5 106 Houston 4 . .. 450000.0 2000 2023-07-01
2 103 Los Angeles 4 . .. NaN 2500 2023-04-10
4 105 Miami 5 . .. 1200000.0 3500 2023-03-22
0 101 New York 3 . .. 750000.0 1800 2023-05-15
1 102 San Francisco 2 . .. 850000.0 1400 2023-06-01
Sortierung nach Schlafzimmern (aufsteigend) und Preis (absteigend):
PropertyID Standort Schlafzimmer ... Preis Quadratmeterzahl ListingDatum
1 102 San Francisco 2... 850000.0 1400 2023-06-01
0 101 New York 3... 750000.0 1800 2023-05-15
3 104 Chicago 3... 650000.0 1700 NaN
5 106 Houston 4... 450000.0 2000 2023-07-01
2 103 Los Angeles 4... NaN 2500 2023-04-10
4 105 Miami 5... 1200000.0 3500 2023-03-22
Mit der Funktion apply() können Sie benutzerdefinierte Funktionen auf Zeilen oder Spalten in einem DataFrame anwenden. Sie ist eine leistungsfähige Methode zur Durchführung von elementweisen Transformationen, Berechnungen oder bedingten Operationen, die über die eingebauten Pandas-Funktionen hinausgehen.
Im folgenden Beispiel wollen wir eine neue Spalte zur Berechnung des Preises pro Quadratfuß erstellen.
# Definieren Sie eine benutzerdefinierte Funktion zur Berechnung des Preises pro Quadratfuß
def preis_pro_quadratfuss(preis, quadratfuss):
return Preis / Quadratmeter if Quadratmeter != 0 else 0
# Wenden Sie die benutzerdefinierte Funktion an , um eine neue Spalte zu erstellen.
df['PricePerSqFt'] = df.apply(lambda row: price_per_sqft(row['Price'], row['SquareFootage']), axis=1)
print(df)
Hier ist die Ausgabe des obigen Codes:
PropertyID Standort Schlafzimmer ... QuadratFläche ListingDate PricePerSqFt
0 101 New York 3... 1800 2023-05-15 416.666667
1 102 San Francisco 2... 1400 2023-06-01 607.142857
2 103 Los Angeles 4... 2500 2023-04-10 NaN
3 104 Chicago 3... 1700 NaN 382.352941
4 105 Miami 5... 3500 2023-03-22 342.857143
5 106 Houston 4... 2000 2023-07-01 225.000000
Ein weiteres Beispiel könnte die Umwandlung von Ortsnamen in Großbuchstaben sein;
# Eine Transformation anwenden, um alle Ortsnamen in Großbuchstaben zu schreiben
df['Ort'] = df['Ort'].apply(lambda x: x.upper())
print(df)
Das sieht folgendermaßen aus:
PropertyID Standort Schlafzimmer ... Preis Quadratmeterzahl ListingDate
0 101 NEW YORK 3... 750000.0 1800 2023-05-15
1 102 SAN FRANCISCO 2... 850000.0 1400 2023-06-01
2 103 LOS ANGELES 4... NaN 2500 2023-04-10
3 104 CHICAGO 3... 650000.0 1700 NaN
4 105 MIAMI 5... 1200000.0 3500 2023-03-22
5 106 HOUSTON 4... 450000.0 2000 2023-07-01
In diesem Handbuch haben wir 10 wesentliche Pandas-Funktionen für die Datenanalyse untersucht, vom Laden und Prüfen von Daten mit
und read_csv()
zur Reinigung und Umwandlung mit Methoden wie info()
, isnull()
und fillna()
. Diese Funktionen bilden die Grundlage eines jeden Datenanalyse-Workflows und ermöglichen es Ihnen, Datensätze effektiv zu bereinigen, zu bearbeiten und zusammenzufassen. Die Beherrschung dieser Funktionen bereitet Sie darauf vor, reale Datenherausforderungen sicher zu bewältigen. Fangen Sie noch heute an zu üben, und entdecken Sie, wie diese Werkzeuge Ihre Analyseaufgaben vereinfachen können! apply()