Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich mehrere Spaltendatentypen in Pandas effizient ändern?

Wie kann ich mehrere Spaltendatentypen in Pandas effizient ändern?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-20 21:21:14974Durchsuche

How Can I Efficiently Change Multiple Column Data Types in Pandas?

Spaltentypen in Pandas für mehrere Spalten ändern

Um mehrere Spalten in einem DataFrame in bestimmte Typen zu konvertieren, sollten Sie die folgenden Methoden in Betracht ziehen:

Verwenden Pandas' to_numeric()

Diese Methode kann nicht numerische Typen wie Zeichenfolgen sicher in Ganzzahlen oder konvertieren ggf. Gleitkommazahlen. Zum Beispiel:

import pandas as pd

table = [
    ['a', '1.2', '4.2'],
    ['b', '70', '0.03'],
    ['x', '5', '0'],
]

df = pd.DataFrame(table)

# Convert columns 2 and 3 to floats
df[['Column2', 'Column3']] = df[['Column2', 'Column3']].apply(pd.to_numeric)

Verwenden von Pandas' astype()

Diese Methode ermöglicht die explizite Konvertierung in einen angegebenen dtype. Zum Beispiel:

df[['Column2', 'Column3']] = df[['Column2', 'Column3']].astype(float)

Übersicht über Konvertierungsmethoden

Die Wahl der Methode hängt von den spezifischen Anforderungen und der Datenstruktur ab:

to_numeric(): Ideal für die zuverlässige Konvertierung von nicht numerischen Werten in numerische Werte Typen.

astype(): Explizite und flexible Konvertierung in jeden gewünschten dtype.

infer_objects(): Eingeführt in Pandas 0.21.0, speziell zum Konvertieren von Objektspalten in eine spezifischere Typ.

convert_dtypes(): Teil von Pandas Version 1.0 und höher, konvertiert Spalten automatisch in den „bestmöglichen“ Typ, der den fehlenden NA-Wert von Pandas unterstützt.

Das obige ist der detaillierte Inhalt vonWie kann ich mehrere Spaltendatentypen in Pandas effizient ändern?. 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