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