Вы можете использовать функцию взрыва() панд, чтобы преобразовать каждый элемент в списке в строку в кадре данных.
Эта функция использует следующий базовый синтаксис:
df.explode('variable_to_explode')
В следующем примере показано, как использовать этот синтаксис на практике.
Пример: используйте функцию взрыва() с Pandas DataFrame
Предположим, у нас есть следующие Pandas DataFrame:
import pandas as pd
#create DataFrame
df = pd.DataFrame({'team': [['A', 'B', 'C'], ['D', 'E', 'F'], ['G', 'H', 'I']],
'position ':['Guard', 'Forward', 'Center'],
'points': [7, 14, 19]})
#view DataFrame
df
team position points
0 [A, B, C] Guard 7
1 [D, E, F] Forward 14
2 [G, H, I] Center 19
Обратите внимание, что столбец team содержит списки названий команд.
Мы можем использовать функцию взрыва() , чтобы взорвать каждый элемент в каждом списке в строку:
#explode team column
df.explode('team')
team position points
0 A Guard 7
0 B Guard 7
0 C Guard 7
1 D Forward 14
1 E Forward 14
1 F Forward 14
2 G Center 19
2 H Center 19
2 I Center 19
Обратите внимание, что столбец team больше не содержит списков. Мы «взорвали» каждый элемент каждого списка в строку.
Также обратите внимание, что некоторые строки теперь имеют одинаковое значение индекса.
Мы можем использовать функцию reset_index() для сброса индекса при развертывании столбца команды:
#explode team column and reset index of resulting dataFrame
df.explode('team'). reset_index(drop= True )
team position points
0 A Guard 7
1 B Guard 7
2 C Guard 7
3 D Forward 14
4 E Forward 14
5 F Forward 14
6 G Center 19
7 H Center 19
8 I Center 19
Обратите внимание, что каждая строка теперь имеет уникальное значение индекса.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в pandas:
Как разделить столбец строки в Pandas на несколько столбцов
Как разделить Pandas DataFrame на несколько фреймов данных
Как разделить Pandas DataFrame по значению столбца