Як використовувати функцію pandas burst() (з прикладами)


Ви можете використовувати функцію pandas burst() , щоб перетворити кожен елемент вбудованого списку в DataFrame.

Ця функція використовує такий базовий синтаксис:

 df. explode (' variable_to_explode ')

У наступному прикладі показано, як використовувати цей синтаксис на практиці.

Приклад: використовуйте функцію explosive() із Pandas DataFrame

Припустімо, що у нас є наступні pandas DataFrame:

 import pandas as pd

#createDataFrame
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

Зауважте, що стовпець команд містить списки назв команд.

Ми можемо використовувати функцію explode() , щоб розбити кожен елемент кожного списку в один рядок:

 #explode team column
df. explode (' team ')

        team position points
0 A Guard 7
0 B Guard 7
0 C Guard 7
1D Forward 14
1 E Forward 14
1 F Forward 14
2G Center 19
2H Center 19
2 I Center 19

Зауважте, що стовпець команди більше не містить списків. Ми «розбили» кожен елемент у кожному списку в один рядок.

Також зауважте, що деякі рядки тепер мають однакове значення індексу.

Ми можемо використовувати функцію 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
3D Forward 14
4 E Forward 14
5 F Forward 14
6G Center 19
7 A.M. Center 19
8 I Center 19

Зверніть увагу, що тепер кожен рядок має унікальне значення індексу.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові операції в pandas:

Як розділити рядковий стовпець у Pandas на кілька стовпців
Як розділити Pandas DataFrame на кілька DataFrame
Як розділити Pandas DataFrame за значенням стовпця

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *