Spec-Zone.ru › pandas 1

pandas.DataFrame.explode

DataFrame.explode(column, ignore_index=False)[source]

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

Введено в версии 0.25.0.

Параметры
column:ИндексМетка

Столбец(ы) для преобразования. Для нескольких столбцов укажите непустой список, каждый элемент которого — строка или кортеж, и для всех указанных столбцов спископодобные данные в строке фрейма должны иметь одинаковую длину.

Введено в версии 1.3.0: Преобразование нескольких столбцов

ignore_index:bool, по умолчанию False

Если True, результирующий индекс будет пронумерован от 0 до n - 1.

Введено в версии 1.1.0.

Возвращает
DataFrame

Взрывающие списки в строки подмножества столбцов; индекс будет дублирован для этих строк.

Возможные исключения
ValueError:
  • Если столбцы фрейма не уникальны.

  • Если указанный список столбцов для взрыва пустой.

  • Если указанные столбцы для взрыва не имеют одинакового количества элементов в строках фрейма.

См. также

DataFrame.unstack

Поворот уровня меток индекса (обязательно иерархического).

DataFrame.melt

Преобразование фрейма данных из широкого формата в длинный.

Series.explode

Взрыв DataFrame из спископодобных столбцов в длинный формат.

Примечания

Эта процедура будет взрывать спископодобные объекты, включая списки, кортежи, множества, Series и np.ndarray. Тип данных результирующих строк подмножества будет object. Скаляры будут возвращены без изменений, а пустые спископодобные объекты приведут к np.nan для этой строки. Кроме того, порядок строк в выходных данных будет неопределенным при взрыве множеств.

Дополнительные примеры см. в руководстве пользователя.

Примеры

>>> df = pd.DataFrame({'A': [[0, 1, 2], 'foo', [], [3, 4]],
...                    'B': 1,
...                    'C': [['a', 'b', 'c'], np.nan, [], ['d', 'e']]})
>>> df
           A  B          C
0  [0, 1, 2]  1  [a, b, c]
1        foo  1        NaN
2         []  1         []
3     [3, 4]  1     [d, e]

Взрыв одного столбца.

>>> df.explode('A')
     A  B          C
0    0  1  [a, b, c]
0    1  1  [a, b, c]
0    2  1  [a, b, c]
1  foo  1        NaN
2  NaN  1         []
3    3  1     [d, e]
3    4  1     [d, e]

Взрыв нескольких столбцов.

>>> df.explode(list('AC'))
     A  B    C
0    0  1    a
0    1  1    b
0    2  1    c
1  foo  1  NaN
2  NaN  1  NaN
3    3  1    d
3    4  1    e

© 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.explode.html

Spec-Zone.ru

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