Как разделить столбец строки в Pandas на несколько столбцов


Вы можете использовать следующий базовый синтаксис, чтобы разделить строковый столбец в pandas DataFrame на несколько столбцов:

#split column A into two columns: column A and column B
df[['A', 'B']] = df['A']. str.split(',', 1 , expand= True )

В следующих примерах показано, как использовать этот синтаксис на практике.

Пример 1: Разделить столбец запятой

В следующем коде показано, как разделить столбец в кадре данных pandas на основе запятой на два отдельных столбца:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['Mavs, West', 'Spurs, West', 'Nets, East'],
 'points': [112, 104, 127]})

#view DataFrame
df

 team points
0 Mavs, West 112
1 Spurs, West 104
2 Nets, East 127

#split team column into two columns
df[['team', 'conference']] = df['team']. str.split(',', 1 , expand= True )

#view updated DataFrame
df

 team points conference
0 Mavs 112 West
1 Spurs 104 West
2 Nets 127 East

Обратите внимание, что вы также можете изменить порядок столбцов после выполнения разделения, если хотите:

#reorder columns
df = df[['team', 'conference', 'points']]

#view DataFrame
df

 team conference points
0 Mavs West 112
1 Spurs West 104
2 Nets East 127

Пример 2: Разделить столбец по другим разделителям

Мы можем использовать тот же синтаксис для разделения столбца другими разделителями.

Например, мы можем разделить столбец пробелом :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['Mavs West', 'Spurs West', 'Nets East'],
 'points': [112, 104, 127]})

#split team column into two columns
df[['team', 'conference']] = df['team']. str.split('', 1 , expand= True )

#view updated DataFrame
df

 team conference points
0 Mavs West 112
1 Spurs West 104
2 Nets East 127

Мы также можем разделить столбец косой чертой :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['Mavs/West', 'Spurs/West', 'Nets/East'],
 'points': [112, 104, 127]})

#split team column into two columns
df[['team', 'conference']] = df['team']. str.split('/', 1 , expand= True )

#view updated DataFrame
df

 team conference points
0 Mavs West 112
1 Spurs West 104
2 Nets East 127

Используя этот синтаксис, мы можем разделить столбец любым разделителем, который нам нужен.

Дополнительные ресурсы

Как добавить строки в Pandas DataFrame
Как добавить массив Numpy в фрейм данных Pandas
Как подсчитать количество строк в Pandas DataFrame