pandas.Series.align#
-
Series.выравнивать(other, join='outer', axis=None, level=None, copy=None, fill_value=None, method=
, limit= , fill_axis= , broadcast_axis= )[источник]# Выровнять два объекта по их осям с указанным методом соединения.
Метод соединения указан для каждого индекса оси.
- Параметры:
- otherDataFrame или Series
- join{‘outer’, ‘inner’, ‘left’, ‘right’}, по умолчанию ‘outer’
Тип выравнивания для выполнения.
left: использовать только ключи из левого фрейма, сохраняя порядок ключей.
right: использовать только ключи из правого фрейма, сохранять порядок ключей.
outer: использовать объединение ключей из обоих фреймов, сортировать ключи лексикографически.
inner: использовать пересечение ключей из обоих фреймов, сохраняя порядок ключей слева.
- осьразрешенная ось другого объекта, по умолчанию None
Выравнивание по индексу (0), колонкам (1) или обоим (None).
- уровеньint или имя уровня, по умолчанию None
Трансляция по уровню, сопоставляя значения Index на переданном уровне MultiIndex.
- copybool, по умолчанию True
Всегда возвращает новые объекты. Если copy=False и переиндексация не требуется, то возвращаются исходные объекты.
Примечание
The copy ключевое слово изменит поведение в pandas 3.0. Копирование при записи будет включено по умолчанию, что означает, что все методы с copy ключевое слово будет использовать механизм ленивого копирования для отложенного копирования и игнорирования copy ключевое слово. The copy ключевое слово будет удалено в будущей версии pandas.
Вы уже можете получить будущее поведение и улучшения, включив copy on write
pd.options.mode.copy_on_write = True- fill_valueскаляр, по умолчанию np.nan
Значение для использования в качестве пропущенных значений. По умолчанию NaN, но может быть любым «совместимым» значением.
- метод{‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, None}, по умолчанию None
Метод для заполнения пропусков в переиндексированных Series:
pad / ffill: распространяет последнее допустимое наблюдение вперед до следующего допустимого.
обратное заполнение / bfill: использовать СЛЕДУЮЩЕЕ допустимое наблюдение для заполнения пропуска.
Устарело с версии 2.1.
- limitint, по умолчанию 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