Wie ändere ich Spaltennamen und Zeilenindizes in Pandas?
Eine der häufigsten Operationen, die beim Bereinigen der Daten oder bei der explorativen Datenanalyse in Data Science ausgeführt werden können, ist das Manipulieren / Korrigieren der Spalten- oder Zeilennamen.
In diesem Beitrag sehen wir
- Wie benenne ich Spalten eines Pandas-Datenrahmens um?
- Wie ändere ich Zeilennamen oder Zeilenindizes eines Pandas-Datenrahmens?
Laden wir zuerst Pandas.
# import pandas>import pandas as pd
Verwenden wir Gapminder-Daten von der Software Carpentry-Website.
# link to gapminder datadata_url = "http://bit.ly/2cLzoxH"# read data from url as pandas dataframe>gapminder = pd.read_csv(data_url)
Lassen Sie uns die Namen der Spalten des Datenrahmens, der ersten drei Zeilen der Daten, mithilfe der Kopffunktion überprüfen.
>print(gapminder.head(3)) country year pop continent lifeExp gdpPercap0 Afghanistan 1952 8425333 Asia 28.801 779.4453141 Afghanistan 1957 9240934 Asia 30.332 820.8530302 Afghanistan 1962 10267083 Asia 31.997 853.100710
Wir können auch die Spaltenfunktion verwenden, um die Spaltennamen abzurufen.
>gapminder.columnsIndex(, dtype="object")
Wie benenne ich Spalten in Pandas um?
Eins kann die Spaltennamen eines Pandas ändern Datenrahmen auf mindestens zwei Arten. Eine Möglichkeit, Spalten in Pandas umzubenennen, besteht darin, df.columns von Pandas zu verwenden und neue Namen direkt zuzuweisen.
Wenn Sie beispielsweise die Namen von Spalten in einer Liste haben, können Sie die Liste Spaltennamen zuweisen direkt.
Um die Spalten des Gapminder-Datenrahmens zu ändern, können wir die Liste der neuen Spaltennamen Gapminder.columns als
>gapminder.columns =
zuweisen Dadurch werden die Namen in der Liste als Spaltennamen für den Datenrahmen „Gapminder“ zugewiesen. Wir können den Datenrahmen mithilfe der Funktion head () überprüfen, um festzustellen, ob er neue Spaltennamen enthält.
>gapminder.head(3) country year population continent life_exp gdp_per_cap0 Afghanistan 1952 8425333 Asia 28.801 779.4453141 Afghanistan 1957 9240934 Asia 30.332 820.8530302 Afghanistan 1962 10267083 Asia 31.997 853.100710
Ein Problem bei diesem Ansatz zum Ändern von Spaltennamen besteht darin, dass die Namen aller Spalten im Datenrahmen geändert werden müssen. Dieser Ansatz würde nicht funktionieren, wenn wir nur den Namen einer ändern möchten Spalte.
Pandas-Umbenennungsfunktion in Spalten umbenennen
Eine andere Möglichkeit, Spaltennamen in Pandas zu ändern, ist die Verwendung der Umbenennungsfunktion. Die Verwendung der Umbenennung zum Ändern von Spaltennamen ist viel besser als zuvor. Man kann chan ge Namen einer bestimmten Spalte leicht. Und nicht alle Spaltennamen müssen geändert werden.
Um Spaltennamen mithilfe der Umbenennungsfunktion in Pandas zu ändern, müssen Sie einen Mapper, ein Wörterbuch mit einem alten Namen als Schlüssel und einem neuen Namen als Wert angeben. Hier ist ein Beispiel zum Ändern vieler Spaltennamen mithilfe eines Wörterbuchs. Wir werden auch inplace = True verwenden, um die Spaltennamen an Ort und Stelle zu ändern.
Einer der größten Vorteile der Umbenennungsfunktion besteht darin, dass wir die Umbenennung verwenden können, um so viele Spaltennamen zu ändern, wie wir möchten.
Lassen Sie uns den Namen einer einzelnen Spalte ändern.
Die Umbenennungsfunktion von Pandas kann anstelle eines Wörterbuchs auch eine Funktion als Eingabe verwenden. Zum Beispiel können wir eine Lambda-Funktion schreiben, um die aktuellen Spaltennamen zu übernehmen und nur die ersten drei Zeichen für die neuen Spaltennamen zu berücksichtigen.
Ändern und Zeilennamen / Indizes in Pandas?
Eine weitere gute Sache bei der Umbenennungsfunktion von Pandas ist, dass wir damit auch Zeilenindizes oder Zeilennamen ändern können.
Wir müssen nur das Indexargument verwenden und angeben, was wir wollen Ändern Sie den Index und nicht die Spalten.
Um beispielsweise die Zeilennamen 0 und 1 in unserem Gapminder-Datenrahmen in ‚Null‘ und ‚Eins‘ zu ändern, erstellen wir ein Wörterbuch mit alten Zeilenindexnamen als Schlüssel und neuer Zeile Index als Werte.
Wir können sehen, dass nur die ersten beiden Zeilen wie beabsichtigt neue Namen haben.
Wie werden Spaltennamen und Zeilenindizes gleichzeitig in Pandas geändert?
Mit der Umbenennungsfunktion von pandas können auch Spaltennamen und Zeilennamen gleichzeitig geändert werden, indem sowohl Spalten- als auch Indexargumente verwendet werden, um die Funktion mit entsprechenden Mapper-Wörterbüchern umzubenennen.
Ändern wir den Spaltennamen „lifeExp“. zu „life_exp“ und auch zu den Zeilenindizes „0 & 1“ zu „null und eins“.
Sind Sie neu bei Pandas? Und vor kurzem mit Pandas angefangen? Schauen Sie sich unsere neuen Tutorials zu Pandas 101 in Byte-Größe an.