Pandas DataFrame DataFrame.reindex() Funktion

Pandas DataFrame DataFrame.reindex() Funktion

Minahil Noor Feb-17, 2021 Nov-05, 2020 Pandas Pandas DataFrame
  1. Syntax von pandas.DataFrame.reindex()
  2. Beispiel-Codes: DataFrame.reindex()
  3. Beispiel-Codes: DataFrame.reindex() zur Neuindizierung der Spalten
  4. Beispielcodes: DataFrame.reindex() Methode zum Füllen der fehlenden Werte mit fill_value
  5. Beispielcodes: DataFrame.reindex() zum Auffüllen der fehlenden Werte mit dem Parameter method

Die Funktion Python Pandas DataFrame.reindex() ändert den Index eines DataFrames. Sie ändert die Indizes über die angegebene Achse. Die neuen Indizes enthalten keine Werte. Sie bietet optionale Parameter zum Ausfüllen dieser Werte.

Syntax von pandas.DataFrame.reindex()

DataFrame.dropna(labels, 
                 index,
                 columns,
                 axis, 
                 method,
                 copy,
                 level,
                 fill_value,
                 limit,
                 tolerance) 

Parameter

labels Es handelt sich um eine array-ähnliche Struktur, die die Namen der neuen Indizes enthält.
index, column Es handelt sich um eine array-ähnliche Struktur, die die Namen der neuen Indizes enthält. Sie sollte mit dem Schlüsselwort index oder column angegeben werden.
axis Es ist eine Ganzzahl oder eine Zeichenkette. Er sagt über die Zielachse entweder Zeilen oder Spalten aus. Er kann 0 oder index und 1 oder column sein.
method Dieser Parameter gibt die Methode zum Auffüllen der fehlenden Werte im neu indizierten DataFrame an.
Er hat vier Möglichkeiten: None, backfill/bfill, pad/ffill, nearest.
Es gilt nur, wenn unser DataFrame oder unsere Series eine Sequenz mit einem steigenden oder fallenden Index hat.
copy Boolean. Standardmäßig ist es True. Es gibt ein neues Objekt zurück.
level Es ist eine ganze Zahl oder ein Name. Er stimmt mit Indexwerten auf einer übergebenen Multi-Index-Ebene überein.
fill_value Sie hat einen skalaren Wert. Es ist der Wert, um die fehlenden Werte zu füllen.
limit Es ist eine ganze Zahl. Sie gibt die Grenze der aufeinanderfolgenden Elemente an, während sie die fehlenden Werte auffüllt.
tolerance Sie gibt Auskunft über den Unterschied zwischen dem ursprünglichen und dem neuen Etikett im Falle von ungenauen Übereinstimmungen.

Zurück

Es gibt einen DataFrame mit den geänderten Indizes zurück.

Beispiel-Codes: DataFrame.reindex()

Standardmäßig ist die Achse 0, d.h. Zeilen, so dass die Zeilen neu indexiert werden.

import pandas as pd

dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 75, 4: 95},
                    'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
                    'Obtained Marks': {0: 56, 1: 75, 2: 82, 3: 64, 4: 67}})
print(dataframe)

Der Demo-DataFrame sieht wie folgt aus.

   Attendance    Name  Obtained Marks
0          60  Olivia              56
1         100    John              75
2          80   Laura              82
3          75     Ben              64
4          95   Kevin              67

Die Indizes in Python beginnen bei 0. Wir werden unseren DataFrame neu indizieren und die neuen Indizes beginnen bei 1.

import pandas as pd

dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 75, 4: 95},
                    'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
                    'Obtained Marks': {0: 56, 1: 75, 2: 82, 3: 64, 4: 67}})

dataframe1 = dataframe.reindex([1,2,3,4,5])
print(dataframe1)

Ausgabe:

   Attendance   Name  Obtained Marks
1       100.0   John            75.0
2        80.0  Laura            82.0
3        75.0    Ben            64.0
4        95.0  Kevin            67.0
5         NaN    NaN             NaN

Hier ist 5 ein neuer Index. Die Werte des neuen Index sind also NaN.

Beispiel-Codes: DataFrame.reindex() zur Neuindizierung der Spalten

Es gibt zwei Möglichkeiten, die Spalten neu zu indexieren. Die eine ist durch die Angabe von Beschriftungen mit dem Schlüsselwort column und die andere durch die Verwendung des Achsenparameters. Die bessere ist, die Beschriftungen mit dem Schlüsselwort columns zu spezifizieren.

import pandas as pd

dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 75, 4: 95},
                    'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
                    'Obtained Marks': {0: 56, 1: 75, 2: 82, 3: 64, 4: 67}})

dataframe1 = dataframe.reindex(columns=['Presents','Name', 'Marks'])

print(dataframe1)

Ausgabe:

   Presents    Name  Marks
0       NaN  Olivia    NaN
1       NaN    John    NaN
2       NaN   Laura    NaN
3       NaN     Ben    NaN
4       NaN   Kevin    NaN

Der alte Index wird mit den alten Werten zugewiesen. Die neuen Indizes haben NaN-Werte.

Wir könnten auch die Spalten mit dem Parameter axis neu indizieren.

import pandas as pd

dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 75, 4: 95},
                    'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
                    'Obtained Marks': {0: 56, 1: 75, 2: 82, 3: 64, 4: 67}})

dataframe1 = dataframe.reindex(['Presents','Name', 'Marks'],
                              axis='columns')

print(dataframe1)

Beispielcodes: DataFrame.reindex() Methode zum Füllen der fehlenden Werte mit fill_value

import pandas as pd

dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 75, 4: 95},
                    'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
                    'Obtained Marks': {0: 56, 1: 75, 2: 82, 3: 64, 4: 67}})
dataframe1 = dataframe.reindex([1,2,3,4,5], fill_value=0)
print(dataframe1)

Ausgabe:

   Attendance   Name  Obtained Marks
1         100   John              75
2          80  Laura              82
3          75    Ben              64
4          95  Kevin              67
5           0      0               0

Die fehlenden Werte werden nun mit 0 gefüllt.

Beispielcodes: DataFrame.reindex() zum Auffüllen der fehlenden Werte mit dem Parameter method

import pandas as pd

dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 75, 4: 95},
                    'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
                    'Obtained Marks': {0: 56, 1: 75, 2: 82, 3: 64, 4: 67}})
dataframe1 = dataframe.reindex([1,2,3,4,5], method='ffill')
print(dataframe1)

Ausgabe:

 Attendance   Name  Obtained Marks
1         100   John              75
2          80  Laura              82
3          75    Ben              64
4          95  Kevin              67
5          95  Kevin              67

Die Methode ffill hat die fehlenden Vorwärtswerte mit dem letzten verfügbaren Wert gefüllt.

Verwandter Artikel - Pandas DataFrame

  • Pandas concat Funktion
  • Pandas cut Funktion
  • Pandas DataFrame sort_index() Funktion
  • Pandas DataFrame.idxmax() Funktion
  • Pandas DataFrame.insert() Funktion
  • Pandas DataFrame.resample() Funktion