Wie man Spalten in Pandas DataFrame umbenennt

Puneet Dobhal 30 Januar 2023
  1. Umbenennen von Spalten in Pandas DataFrame unter Verwendung der DataFrame.columns Methode
  2. Umbenennen von Spalten in Pandas DataFrame unter Verwendung der Methode DataFrame.rename()
  3. Umbenennen von Spalten in Pandas DataFrame unter Verwendung der Methode DataFrame.set_axis()
Wie man Spalten in Pandas DataFrame umbenennt

Häufig müssen wir bei der Datenanalyse Spaltennamen manipulieren. In diesem Artikel werden wir verschiedene Methoden zur Manipulation/Umbenennung von Spaltennamen für einen bereits definierten Panadas DataFrame untersuchen.

Umbenennen von Spalten in Pandas DataFrame unter Verwendung der DataFrame.columns Methode

Diese Methode ist ziemlich unkompliziert und erlaubt es Ihnen, Spalten direkt umzubenennen. Wir können eine Liste neuer Spaltennamen mit dem Attribut DataFrame.columns wie folgt zuordnen:

import pandas as pd

example_df = pd.DataFrame(
    [["John", 20, 45], ["Peter", 21, 62], ["Scot", 25, 68]],
    index=[0, 1, 2],
    columns=["Name", "Age", "Marks"],
)

print "\nOriginal DataFrame"
print (pd.DataFrame(example_df))
example_df.columns = ["Name", "Age", "Roll_no"]

print "\nModified DataFrame"
print (pd.DataFrame(example_df))

Ausgabe:

Original DataFrame
    Name  Age  Marks
0   John   20     45
1  Peter   21     62
2   Scot   25     68

Modified DataFrame
    Name  Age  Roll_no
0   John   20       45
1  Peter   21       62
2   Scot   25       68

Ein Nachteil dieses Ansatzes ist, dass Sie die gesamte Spalte auflisten müssen, auch wenn nur eine der Spalten umbenannt werden muss. Die Angabe der gesamten Spaltenliste wird unpraktisch, wenn Sie eine große Anzahl von Spalten haben.

Umbenennen von Spalten in Pandas DataFrame unter Verwendung der Methode DataFrame.rename()

Der alternative Ansatz zur vorherigen Methode ist die Verwendung der DataFrame.rename() Methode. Diese Methode ist recht praktisch, wenn wir nicht alle Spalten umbenennen müssen.

Wir werden den alten Spaltennamen als Schlüssel und die neuen Namen als Werte angeben müssen.

import pandas as pd

example_df = pd.DataFrame(
    [["John", 20, 45, 78], ["Peter", 21, 62, 68], ["Scot", 25, 68, 95]],
    index=[0, 1, 2],
    columns=["Name", "Age", "Marks", "Roll_no"],
)

print "\nOriginal DataFrame"
print (pd.DataFrame(example_df))
example_df.rename(columns={"Marks": "Roll_no", "Roll_no": "Marks"}, inplace=True)

print "\nModified DataFrame"
print (pd.DataFrame(example_df))

Ausgabe:

Original DataFrame
    Name  Age  Marks  Roll_no
0   John   20     45       78
1  Peter   21     62       68
2   Scot   25     68       95

Modified DataFrame
    Name  Age  Roll_no  Marks
0   John   20       45     78
1  Peter   21       62     68
2   Scot   25       68     95

Der bedeutendste Vorteil dieser Methode ist, dass Sie so viele Spalten angeben können, wie Sie wollen. Sie ist ziemlich effektiv, wenn Sie bestimmte Spalten umbenennen müssen, und im Gegensatz zu früheren Methoden ist es nicht notwendig, die gesamte Spaltenliste für den DataFrame aufzulisten.

Sie werden vielleicht feststellen, dass wir im Funktionsaufruf DataFrame.rename() den Parameter inplace als True angegeben haben. Der Parameter inplace ist in der Voreinstellung False und gibt an, ob ein neuer Pandas DataFrame zurückgegeben werden soll oder nicht.

Wird er als True angegeben, bedeutet dies, dass der Funktionsaufruf keinen neuen Pandas DataFrame zurückgibt, sondern den vorhandenen DataFrame ändert.

Umbenennen von Spalten in Pandas DataFrame unter Verwendung der Methode DataFrame.set_axis()

Eine weitere bequeme Methode, Spalten von Pandas in DataFrame umzubenennen. Bei dieser Methode müssen wir die gesamte Spaltenliste angeben.

import pandas as pd

example_df = pd.DataFrame(
    [["John", 20, 45, 78], ["Peter", 21, 62, 68], ["Scot", 25, 68, 95]],
    index=[0, 1, 2],
    columns=["Name", "Age", "Marks", "Roll_no"],
)

print "\nOriginal DataFrame"
print (pd.DataFrame(example_df))

example_df.set_axis(["Name", "Age", "Roll_no", "Marks"], axis="columns", inplace=True)

print "\nModified DataFrame"
print (pd.DataFrame(example_df))

Ausgabe:

Original DataFrame
    Name  Age  Marks  Roll_no
0   John   20     45       78
1  Peter   21     62       68
2   Scot   25     68       95

Modified DataFrame
    Name  Age  Roll_no  Marks
0   John   20       45     78
1  Peter   21       62     68
2   Scot   25       68     95

Verwandter Artikel - Pandas DataFrame