DataFrame.reindex() / Series.reindex()

Метод reindex() создаёт новый объект с другим набором меток индекса (и/или столбцов). Отсутствующие метки заполняются NaN или значением из fill_value.

Сигнатура

DataFrame.reindex(labels=None, index=None, columns=None, axis=None,
                  method=None, copy=True, fill_value=NaN, limit=None,
                  tolerance=None)

Параметры

  • index / columns — новые метки строк/столбцов.

  • method — заполнение пропусков: "ffill", "bfill", "nearest".

  • fill_value — значение для отсутствующих ячеек.

  • limit — максимум подряд заполняемых ячеек.

Возвращаемое значение

Новый DataFrame / Series.

Примеры

Пример 1. Новый порядок строк

import pandas as pd

s = pd.Series([22, 23, 24], index=["A", "B", "C"])
print(s.reindex(["C", "B", "A"]))
C    24
B    23
A    22
dtype: int64

Пример 2. Появление NaN

import pandas as pd

s = pd.Series([22, 23], index=["A", "B"])
print(s.reindex(["A", "B", "C"]))
A    22.0
B    23.0
C     NaN
dtype: float64

Пример 3. fill_value=0

import pandas as pd

s = pd.Series([22, 23], index=["A", "B"])
print(s.reindex(["A", "B", "C"], fill_value=0))
A    22
B    23
C     0
dtype: int64

Пример 4. ffill для временного ряда

import pandas as pd

s = pd.Series([10, 20], index=[0, 2])
print(s.reindex(range(5), method="ffill"))
0    10
1    10
2    20
3    20
4    20
dtype: int64

Пример 5. Переупорядочивание столбцов DataFrame

import pandas as pd

df = pd.DataFrame({"a": [1, 2], "b": [3, 4], "c": [5, 6]})
print(df.reindex(columns=["c", "a", "b"]))
   c  a  b
0  5  1  3
1  6  2  4

См. также

Примечание

Лицензия и источники

Техническое описание функции адаптировано из официальной документации Pandas (https://pandas.pydata.org/docs/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.