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


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

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

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

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

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

 import pandas as pd

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

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

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

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *