Spec-Zone.ru › pandas 2

pandas.Series.align

Series.align(other, join='outer', axis=None, level=None, copy=None, fill_value=None, method=_NoDefault.no_default, limit=_NoDefault.no_default, fill_axis=_NoDefault.no_default, broadcast_axis=_NoDefault.no_default)[source]

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

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

Параметры:
other:DataFrame или Series
join:{‘outer’, ‘inner’, ‘left’, ‘right’}, по умолчанию ‘outer’

Тип выравнивания, который нужно выполнить.

  • left: использовать только ключи из левой таблицы, сохранить порядок ключей.

  • right: использовать только ключи из правой таблицы, сохранить порядок ключей.

  • outer: использовать объединение ключей из обеих таблиц, отсортировать ключи лексикографически.

  • inner: использовать пересечение ключей из обеих таблиц, сохранить порядок ключей левой таблицы.

axis:разрешённая ось другого объекта, по умолчанию None

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

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

Трансляция по уровню, соответствие значений индекса на переданном уровне MultiIndex.

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

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

Примечание

Ключевое слово copy изменит поведение в pandas 3.0. Copy-on-Write будет включено по умолчанию, что означает, что все методы с ключевым словом copy будут использовать механизм ленивой копии для отложенной копии и игнорирования ключевого слова copy. Ключевое слово copy будет удалено в будущей версии pandas.

Вы уже можете получить будущие поведение и улучшения, включив копирование по записи pd.options.mode.copy_on_write = True

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

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

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

Метод для заполнения пробелов в переиндексированных Series:

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

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

Устарело начиная с версии 2.1.

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

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

Устарело начиная с версии 2.1.

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

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

Устарело начиная с версии 2.1.

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

Трансляция значений по этой оси, если выравнивание выполняется для двух объектов с разными измерениями.

Устарело начиная с версии 2.1.

Возвращает:
кортеж из (Series/DataFrame, тип другого)

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

Примеры

>>> 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/2.2.2/reference/api/pandas.Series.align.html

Spec-Zone.ru

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