Spec-Zone.ru › pandas 1

pandas.DataFrame.align

DataFrame.align(other, join='outer', axis=None, level=None, copy=True, fill_value=None, method=None, limit=None, fill_axis=0, broadcast_axis=None)[source]

Выравнивание двух объектов по осям с указанным методом объединения.

Метод объединения задаётся для каждого индекса оси.

Параметры
other:DataFrame или Series
join:{‘outer’, ‘inner’, ‘left’, ‘right’}, по умолчанию ‘outer’
axis:разрешённая ось другого объекта, по умолчанию None

Выравнивание по индексу (0), столбцам (1) или обоим (None).

level:int или имя уровня, по умолчанию None

Вещание по уровню, сопоставление значений индекса в переданном многоуровневом индексе.

copy:bool, по умолчанию True

Всегда возвращает новые объекты. Если copy=False и переиндексация не требуется, возвращаются исходные объекты.

fill_value:скаляр, по умолчанию np.NaN

Значение для использования в случае отсутствующих значений. По умолчанию NaN, но может быть любым «совместимым» значением.

method:{‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, None}, по умолчанию None

Метод, используемый для заполнения пропусков в переиндексированном Series:

  • pad / ffill: распространяет последнее действительное наблюдение вперёд до следующего действительного.

  • backfill / bfill: использует следующее действительное наблюдение для заполнения разрыва.

limit:int, по умолчанию None

Если метод указан, это максимальное количество последовательных значений NaN для заполнения вперёд/назад. Другими словами, если есть разрыв с количеством последовательных NaN, превышающим это число, он будет заполнен частично. Если метод не указан, это максимальное количество записей по всей оси, где будут заполнены NaN. Должно быть больше 0, если не None.

fill_axis:{0 или ‘index’, 1 или ‘columns’}, по умолчанию 0

Ось заполнения, метод и предел.

broadcast_axis:{0 или ‘index’, 1 или ‘columns’}, по умолчанию None

Вещание значений по этой оси, если выравниваются два объекта с разными измерениями.

Возвращает
(left, right):(DataFrame, type of other)

Выровненные объекты.

Примеры

>>> df = pd.DataFrame(
...     [[1, 2, 3, 4], [6, 7, 8, 9]], columns=["D", "B", "E", "A"], index=[1, 2]
... )
>>> other = pd.DataFrame(
...     [[10, 20, 30, 40], [60, 70, 80, 90], [600, 700, 800, 900]],
...     columns=["A", "B", "C", "D"],
...     index=[2, 3, 4],
... )
>>> df
   D  B  E  A
1  1  2  3  4
2  6  7  8  9
>>> other
    A    B    C    D
2   10   20   30   40
3   60   70   80   90
4  600  700  800  900

Выравнивание по столбцам:

>>> left, right = df.align(other, join="outer", axis=1)
>>> left
   A  B   C  D  E
1  4  2 NaN  1  3
2  9  7 NaN  6  8
>>> right
    A    B    C    D   E
2   10   20   30   40 NaN
3   60   70   80   90 NaN
4  600  700  800  900 NaN

Мы также можем выровнять по индексу:

>>> left, right = df.align(other, join="outer", axis=0)
>>> left
    D    B    E    A
1  1.0  2.0  3.0  4.0
2  6.0  7.0  8.0  9.0
3  NaN  NaN  NaN  NaN
4  NaN  NaN  NaN  NaN
>>> right
    A      B      C      D
1    NaN    NaN    NaN    NaN
2   10.0   20.0   30.0   40.0
3   60.0   70.0   80.0   90.0
4  600.0  700.0  800.0  900.0

Наконец, по умолчанию axis=None выравнивает по индексу и столбцам:

>>> left, right = df.align(other, join="outer", axis=None)
>>> left
     A    B   C    D    E
1  4.0  2.0 NaN  1.0  3.0
2  9.0  7.0 NaN  6.0  8.0
3  NaN  NaN NaN  NaN  NaN
4  NaN  NaN NaN  NaN  NaN
>>> right
       A      B      C      D   E
1    NaN    NaN    NaN    NaN NaN
2   10.0   20.0   30.0   40.0 NaN
3   60.0   70.0   80.0   90.0 NaN
4  600.0  700.0  800.0  900.0 NaN

© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/1.5.0/reference/api/pandas.DataFrame.align.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API