Spec-Zone.ru › pandas 1

pandas.Series.align

Series.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

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

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’}, по умолчанию 0

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

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

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

Возвращает
(left, right):(Series, тип 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.Series.align.html

Spec-Zone.ru

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