Spec-Zone.ru › pandas 2

pandas.DataFrame.explode

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

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

Параметры:
column:IndexLabel

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

Добавлена в версии 1.3.0: Развертывание по нескольким столбцам

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

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

Возвращает:
DataFrame

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

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

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

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

См. также

DataFrame.unstack

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

DataFrame.melt

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

Series.explode

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

Примечания

Эта функция будет развертывать спископодобные объекты, включая списки, кортежи, множества, 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/2.2.2/reference/api/pandas.DataFrame.explode.html

Spec-Zone.ru

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