suchen
HeimBackend-EntwicklungPython-TutorialWas ist die Funktion astype() in Python?

What is astype() function 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>




<hr>

<h3>
  
  
  <strong>Erklärung:</strong>
</h3>

<ul>
<li>
<p><strong>Ursprüngliche Speichernutzung:</strong></p>

<ul>
<li>Spalte A als int64 verwendet 24 Bytes (8 Bytes pro Element × 3 Elemente).</li>
<li>Spalte B als float64 verwendet 24 Bytes (8 Bytes pro Element × 3 Elemente).</li>
</ul>


</li>

<li>

<p><strong>Optimierte Speichernutzung:</strong></p>

<ul>
<li>Spalte A als int8 verwendet 3 Bytes (1 Byte pro Element × 3 Elemente).</li>
<li>Spalte B als float32 verwendet 12 Bytes (4 Bytes pro Element × 3 Elemente).</li>
</ul>


</li>

</ul>

<h2>
  
  
  Der Speicherverbrauch wird durch die Verwendung kleinerer Datentypen erheblich reduziert, insbesondere bei der Arbeit mit großen Datenmengen.
</h2>

<h3>
  
  
  <strong>Häufige Fallstricke</strong>
</h3>

<ol>
<li>
<strong>Ungültige Konvertierung</strong>: Konvertieren inkompatibler Typen (z. B. Zeichenfolgen in numerische Typen, wenn nicht numerische Werte vorhanden sind).
</li>
</ol>

<pre class="brush:php;toolbar:false">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)
  1. Stille Fehler mit „errors='ignore“: Mit Vorsicht verwenden, da die Konvertierung stillschweigend fehlschlagen kann.

  2. 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!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Was sind die Alternativen zur Verkettung von zwei Listen in Python?Was sind die Alternativen zur Verkettung von zwei Listen in Python?May 09, 2025 am 12:16 AM

Es gibt viele Methoden, um zwei Listen in Python zu verbinden: 1. Verwenden Sie Operatoren, die in großen Listen einfach, aber ineffizient sind; 2. Verwenden Sie die Erweiterungsmethode, die effizient ist, die ursprüngliche Liste jedoch ändert. 3.. Verwenden Sie den operator =, der sowohl effizient als auch lesbar ist; 4. Verwenden Sie die Funktion iterertools.chain, die Speichereffizient ist, aber zusätzlichen Import erfordert. 5. Verwenden Sie List Parsing, die elegant ist, aber zu komplex sein kann. Die Auswahlmethode sollte auf dem Codekontext und den Anforderungen basieren.

Python: Effiziente Möglichkeiten, zwei Listen zusammenzuführenPython: Effiziente Möglichkeiten, zwei Listen zusammenzuführenMay 09, 2025 am 12:15 AM

Es gibt viele Möglichkeiten, Python -Listen zusammenzuführen: 1. Verwenden von Operatoren, die einfach, aber nicht für große Listen effizient sind; 2. Verwenden Sie die Erweiterungsmethode, die effizient ist, die ursprüngliche Liste jedoch ändert. 3. Verwenden Sie iTertools.chain, das für große Datensätze geeignet ist. 4. Verwenden Sie * Operator, fusionieren Sie kleine bis mittelgroße Listen in einer Codezeile. 5. Verwenden Sie Numpy.concatenate, das für große Datensätze und Szenarien mit hohen Leistungsanforderungen geeignet ist. 6. Verwenden Sie die Append -Methode, die für kleine Listen geeignet ist, aber ineffizient ist. Bei der Auswahl einer Methode müssen Sie die Listengröße und die Anwendungsszenarien berücksichtigen.

Kompiliert gegen interpretierte Sprachen: Vor- und NachteileKompiliert gegen interpretierte Sprachen: Vor- und NachteileMay 09, 2025 am 12:06 AM

CompiledLanguageOfferSpeedandSecurity, während interpretedLanguagesProvideaseofuseAnDportabilität.1) kompiledlanguageslikec areFasterandSecurebuthavelongerDevelopmentCyclesandplatformDependency.2) InterpretedLanguages ​​-pythonareaToReAndoreAndorePortab

Python: Für und während Schleifen der vollständigste LeitfadenPython: Für und während Schleifen der vollständigste LeitfadenMay 09, 2025 am 12:05 AM

In Python wird eine für die Schleife verwendet, um iterable Objekte zu durchqueren, und eine WHHE -Schleife wird verwendet, um Operationen wiederholt durchzuführen, wenn die Bedingung erfüllt ist. 1) Beispiel für Schleifen: Überqueren Sie die Liste und drucken Sie die Elemente. 2) Während des Schleifens Beispiel: Erraten Sie das Zahlenspiel, bis Sie es richtig erraten. Mastering -Zyklusprinzipien und Optimierungstechniken können die Code -Effizienz und -zuverlässigkeit verbessern.

Python verkettet listet in eine Zeichenfolge aufPython verkettet listet in eine Zeichenfolge aufMay 09, 2025 am 12:02 AM

Um eine Liste in eine Zeichenfolge zu verkettet, ist die Verwendung der join () -Methode in Python die beste Wahl. 1) Verwenden Sie die monjoy () -Methode, um die Listelemente in eine Zeichenfolge wie "" .Join (my_list) zu verkettet. 2) Für eine Liste, die Zahlen enthält, konvertieren Sie die Karte (STR, Zahlen) in eine Zeichenfolge, bevor Sie verkettet werden. 3) Sie können Generatorausdrücke für komplexe Formatierung verwenden, wie z. 4) Verwenden Sie bei der Verarbeitung von Mischdatentypen MAP (STR, MIXED_LIST), um sicherzustellen, dass alle Elemente in Zeichenfolgen konvertiert werden können. 5) Verwenden Sie für große Listen '' .Join (large_li

Pythons Hybridansatz: Zusammenstellung und Interpretation kombiniertPythons Hybridansatz: Zusammenstellung und Interpretation kombiniertMay 08, 2025 am 12:16 AM

Pythonusesahybridapproach, kombinierte CompilationTobyteCodeAnDinterpretation.1) codiscompiledtoplatform-unintenpendentBytecode.2) BytecodeIsinterpretedBythepythonvirtualMachine, EnhancingEfficiency und Portablabilität.

Erfahren Sie die Unterschiede zwischen Pythons 'für' und 'while the' LoopsErfahren Sie die Unterschiede zwischen Pythons 'für' und 'while the' LoopsMay 08, 2025 am 12:11 AM

Die Keedifferzences -zwischen Pythons "für" und "während" Loopsare: 1) "für" LoopsareideAlForiteratingOvercesorknownowniterations, während 2) "LoopsarebetterForContiningUtilAconditionismethoutnredefineditInations.un

Python verkettet Listen mit DuplikatenPython verkettet Listen mit DuplikatenMay 08, 2025 am 12:09 AM

In Python können Sie Listen anschließen und doppelte Elemente mit einer Vielzahl von Methoden verwalten: 1) Verwenden von Operatoren oder erweitert (), um alle doppelten Elemente beizubehalten; 2) Konvertieren in Sets und kehren Sie dann zu Listen zurück, um alle doppelten Elemente zu entfernen. Die ursprüngliche Bestellung geht jedoch verloren. 3) Verwenden Sie Schleifen oder listen Sie Verständnisse auf, um Sätze zu kombinieren, um doppelte Elemente zu entfernen und die ursprüngliche Reihenfolge zu verwalten.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

SublimeText3 Englische Version

SublimeText3 Englische Version

Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

PHPStorm Mac-Version

PHPStorm Mac-Version

Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.