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