Was ist die Funktion astype() in Python?
Astype() in Python verstehen
Die Funktion astype() ist eine leistungsstarke Methode in Python, die hauptsächlich in der Bibliothek pandas zum Konvertieren einer Spalte oder eines Datensatzes in einem DataFrame oder einer Serie in einen bestimmten Datentyp verwendet wird. Es ist auch in NumPy verfügbar, um Array-Elemente in einen anderen Typ umzuwandeln.
Grundlegende Verwendung von astype()
Die Funktion astype() wird verwendet, um den Datentyp eines Pandas-Objekts (wie einer Serie oder eines DataFrame) oder eines NumPy-Arrays in einen anderen Typ umzuwandeln.
Syntax für Pandas:
DataFrame.astype(dtype, copy=True, errors='raise')
Syntax für NumPy:
ndarray.astype(dtype, order='K', casting='unsafe', subok=True, copy=True)
Schlüsselparameter
1. dtype
Der Zieldatentyp, in den Sie die Daten konvertieren möchten. Dies kann angegeben werden mit:
- Ein einzelner Typ (z. B. float, int, str).
- Ein Wörterbuch, das Spaltennamen Typen zuordnet (für Pandas DataFrames).
2. kopieren (Pandas und NumPy)
- Standard: True
- Zweck: Ob eine Kopie der Originaldaten zurückgegeben werden soll (falls True) oder an Ort und Stelle geändert werden soll (falls False).
3. Fehler (nur Pandas)
-
Optionen:
- 'raise' (Standard): Löst einen Fehler aus, wenn die Konvertierung fehlschlägt.
- 'ignore': Fehler stillschweigend ignorieren.
4. order (nur NumPy)
- Steuert das Speicherlayout des Ausgabearrays. Optionen:
- 'C': C-zusammenhängende Reihenfolge.
- 'F': Fortran-zusammenhängende Reihenfolge.
- 'A': Fortran-Reihenfolge verwenden, wenn die Eingabe Fortran-zusammenhängend ist, andernfalls C-Reihenfolge.
- 'K': Entspricht dem Layout des Eingabearrays.
5. Casting (nur NumPy)
- Steuert das Casting-Verhalten:
- 'nein': Kein Casting erlaubt.
- 'equiv': Nur Änderungen der Byte-Reihenfolge zulässig.
- 'sicher': Nur Umwandlungen, die Werte beibehalten, sind zulässig.
- 'same_kind': Nur sichere Casts oder Casts innerhalb einer Art (z. B. float -> int) sind erlaubt.
- 'unsicher': Jede Datenkonvertierung ist zulässig.
6. subok (nur NumPy)
- Wenn True, werden Unterklassen durchlaufen; Bei False ist das zurückgegebene Array ein Basisklassen-Array.
Beispiele
1. Grundlegende Konvertierung in Pandas
import pandas as pd # Example DataFrame df = pd.DataFrame({'A': ['1', '2', '3'], 'B': [1.5, 2.5, 3.5]}) # Convert column 'A' to integer df['A'] = df['A'].astype(int) print(df.dtypes)
Ausgabe:
A int64 B float64 dtype: object
2. Wörterbuchzuordnung für mehrere Spalten
# Convert multiple columns df = df.astype({'A': float, 'B': int}) print(df.dtypes)
Ausgabe:
DataFrame.astype(dtype, copy=True, errors='raise')
3. Verwenden vonerrors='ignore'
ndarray.astype(dtype, order='K', casting='unsafe', subok=True, copy=True)
Ausgabe:
import pandas as pd # Example DataFrame df = pd.DataFrame({'A': ['1', '2', '3'], 'B': [1.5, 2.5, 3.5]}) # Convert column 'A' to integer df['A'] = df['A'].astype(int) print(df.dtypes)
- Die Konvertierung schlägt für „zwei“ fehl, es wird jedoch kein Fehler ausgegeben.
4. Verwendung von astype() in NumPy
A int64 B float64 dtype: object
Ausgabe:
# Convert multiple columns df = df.astype({'A': float, 'B': int}) print(df.dtypes)
5. Casting in NumPy mit casting='safe'
A float64 B int64 dtype: object
Ausgabe:
df = pd.DataFrame({'A': ['1', 'two', '3'], 'B': [1.5, 2.5, 3.5]}) # Attempt conversion with errors='ignore' df['A'] = df['A'].astype(int, errors='ignore') print(df)
6. Umgang mit nicht numerischen Typen in Pandas
A B 0 1 1.5 1 two 2.5 2 3 3.5
Ausgabe:
import numpy as np # Example array arr = np.array([1.1, 2.2, 3.3]) # Convert to integer arr_int = arr.astype(int) print(arr_int)
7. Speicheroptimierung mit astype()
Code:
[1 2 3]
Ausgabe:
Vor der Optimierung (ursprüngliche Speichernutzung):
arr = np.array([1.1, 2.2, 3.3]) # Attempt an unsafe conversion try: arr_str = arr.astype(str, casting='safe') except TypeError as e: print(e)
Nach der Optimierung (optimierte Speichernutzung):
Cannot cast array data from dtype('float64') to dtype('<U32') according to the rule 'safe'
Erklärung:
-
Ursprüngliche Speichernutzung:
- Spalte A als int64 verwendet 24 Bytes (8 Bytes pro Element × 3 Elemente).
- Spalte B als float64 verwendet 24 Bytes (8 Bytes pro Element × 3 Elemente).
-
Optimierte Speichernutzung:
- Spalte A als int8 verwendet 3 Bytes (1 Byte pro Element × 3 Elemente).
- Spalte B als float32 verwendet 12 Bytes (4 Bytes pro Element × 3 Elemente).
Der Speicherverbrauch wird durch die Verwendung kleinerer Datentypen erheblich reduziert, insbesondere bei der Arbeit mit großen Datenmengen.
Häufige Fallstricke
- Ungültige Konvertierung: Konvertieren inkompatibler Typen (z. B. Zeichenfolgen in numerische Typen, wenn nicht numerische Werte vorhanden sind).
df = pd.DataFrame({'A': ['2022-01-01', '2023-01-01'], 'B': ['True', 'False']}) # Convert to datetime and boolean df['A'] = pd.to_datetime(df['A']) df['B'] = df['B'].astype(bool) print(df.dtypes)
Stille Fehler mit „errors='ignore“: Mit Vorsicht verwenden, da die Konvertierung stillschweigend fehlschlagen kann.
Präzisionsverlust: Konvertierung von einem Typ mit höherer Genauigkeit (z. B. float64) in einen Typ mit niedrigerer Genauigkeit (z. B. float32).
Erweiterte Beispiele
1. Komplexe Datentypumwandlung
A datetime64[ns] B bool dtype: object
Ausgabe:
import pandas as pd # Original DataFrame df = pd.DataFrame({'A': [1, 2, 3], 'B': [1.1, 2.2, 3.3]}) print("Original memory usage:") print(df.memory_usage()) # Downcast numerical types df['A'] = df['A'].astype('int8') df['B'] = df['B'].astype('float32') print("Optimized memory usage:") print(df.memory_usage())
2. Verwendung von astype() in NumPy für strukturierte Arrays
Index 128 A 24 B 24 dtype: int64
Ausgabe:
DataFrame.astype(dtype, copy=True, errors='raise')
Zusammenfassung
Die Funktion astype() ist ein vielseitiges Werkzeug zur Datentypkonvertierung sowohl in Pandas als auch in NumPy. Es ermöglicht eine differenzierte Steuerung des Casting-Verhaltens, der Speicheroptimierung und der Fehlerbehandlung. Die ordnungsgemäße Verwendung seiner Parameter, wie Fehler in Pandas und Umwandlung in NumPy, gewährleistet robuste und effiziente Datentyptransformationen.
Das obige ist der detaillierte Inhalt vonWas ist die Funktion astype() in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











Python ist leichter zu lernen und zu verwenden, während C leistungsfähiger, aber komplexer ist. 1. Python -Syntax ist prägnant und für Anfänger geeignet. Durch die dynamische Tippen und die automatische Speicherverwaltung können Sie die Verwendung einfach zu verwenden, kann jedoch zur Laufzeitfehler führen. 2.C bietet Steuerung und erweiterte Funktionen auf niedrigem Niveau, geeignet für Hochleistungsanwendungen, hat jedoch einen hohen Lernschwellenwert und erfordert manuellem Speicher und Typensicherheitsmanagement.

Ist es genug, um Python für zwei Stunden am Tag zu lernen? Es hängt von Ihren Zielen und Lernmethoden ab. 1) Entwickeln Sie einen klaren Lernplan, 2) Wählen Sie geeignete Lernressourcen und -methoden aus, 3) praktizieren und prüfen und konsolidieren Sie praktische Praxis und Überprüfung und konsolidieren Sie und Sie können die Grundkenntnisse und die erweiterten Funktionen von Python während dieser Zeit nach und nach beherrschen.

Python ist in der Entwicklungseffizienz besser als C, aber C ist in der Ausführungsleistung höher. 1. Pythons prägnante Syntax und reiche Bibliotheken verbessern die Entwicklungseffizienz. 2. Die Kompilierungsmerkmale von Compilation und die Hardwarekontrolle verbessern die Ausführungsleistung. Bei einer Auswahl müssen Sie die Entwicklungsgeschwindigkeit und die Ausführungseffizienz basierend auf den Projektanforderungen abwägen.

Python und C haben jeweils ihre eigenen Vorteile, und die Wahl sollte auf Projektanforderungen beruhen. 1) Python ist aufgrund seiner prägnanten Syntax und der dynamischen Typisierung für die schnelle Entwicklung und Datenverarbeitung geeignet. 2) C ist aufgrund seiner statischen Tipp- und manuellen Speicherverwaltung für hohe Leistung und Systemprogrammierung geeignet.

PythonlistsarePartThestandardlibrary, whilearraysarenot.listarebuilt-in, vielseitig und UNDUSEDFORSPORINGECollections, während dieArrayRay-thearrayModulei und loses und loses und losesaluseduetolimitedFunctionality.

Python zeichnet sich in Automatisierung, Skript und Aufgabenverwaltung aus. 1) Automatisierung: Die Sicherungssicherung wird durch Standardbibliotheken wie OS und Shutil realisiert. 2) Skriptschreiben: Verwenden Sie die PSUTIL -Bibliothek, um die Systemressourcen zu überwachen. 3) Aufgabenverwaltung: Verwenden Sie die Zeitplanbibliothek, um Aufgaben zu planen. Die Benutzerfreundlichkeit von Python und die Unterstützung der reichhaltigen Bibliothek machen es zum bevorzugten Werkzeug in diesen Bereichen.

Zu den Anwendungen von Python im wissenschaftlichen Computer gehören Datenanalyse, maschinelles Lernen, numerische Simulation und Visualisierung. 1.Numpy bietet effiziente mehrdimensionale Arrays und mathematische Funktionen. 2. Scipy erweitert die Numpy -Funktionalität und bietet Optimierungs- und lineare Algebra -Tools. 3.. Pandas wird zur Datenverarbeitung und -analyse verwendet. 4.Matplotlib wird verwendet, um verschiedene Grafiken und visuelle Ergebnisse zu erzeugen.

Zu den wichtigsten Anwendungen von Python in der Webentwicklung gehören die Verwendung von Django- und Flask -Frameworks, API -Entwicklung, Datenanalyse und Visualisierung, maschinelles Lernen und KI sowie Leistungsoptimierung. 1. Django und Flask Framework: Django eignet sich für die schnelle Entwicklung komplexer Anwendungen, und Flask eignet sich für kleine oder hochmobile Projekte. 2. API -Entwicklung: Verwenden Sie Flask oder Djangorestframework, um RESTFUFFUPI zu erstellen. 3. Datenanalyse und Visualisierung: Verwenden Sie Python, um Daten zu verarbeiten und über die Webschnittstelle anzuzeigen. 4. Maschinelles Lernen und KI: Python wird verwendet, um intelligente Webanwendungen zu erstellen. 5. Leistungsoptimierung: optimiert durch asynchrones Programmieren, Caching und Code
