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 DataFrame の列をカンマに基づいて 2 つの別々の列に分割する方法を示しています。

 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

この構文を使用すると、任意の区切り文字で列を分割できます。

追加リソース

Pandas DataFrame に行を追加する方法
Numpy 配列を Pandas DataFrame に追加する方法
Pandas DataFrame の行数をカウントする方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です