私はパンダを学んでいます
スペースで区切られた文字列に複数の値を持つ1つのデータフレーム列があります
この列を多くの列に分割する必要があります
問題は-分割により可変数の値が得られる可能性がある
私のコードは以下の通りです:
import pandas as pd
df = pd.DataFrame({'institute': ['Learn Free Academy',
'Free Code Academy',
'Avon IT School'],
'languages': ['Java,JavaScript:Python;HTML\CSS',
'HTML/CSS\JavaScript',
'C:C#']})
# print(df )
# institute languages
# 0 Learn Free Academy Java,JavaScript:Python;HTML\CSS
# 1 Free Code Academy HTML/CSS\JavaScript
# 2 Avon IT School C:C#
'languages'列を分割すると、次の結果が得られます。
print( df['languages'].str.get_dummies(r';|:|\\|\/|,') )
# C C# CSS HTML Java JavaScript Python |
# 0 0 0 0 0 0 0 0 0
# 1 0 0 0 0 0 0 0 0
# 2 0 0 0 0 0 0 0 0
次の結果を得るにはどうすればよいですか?
# Java Javascript Python HTML CSS C C#
# 0 1 1 1 1 1 0 0
# 1 0 1 0 1 1 0 0
# 2 0 0 0 0 0 1 1
のデフォルトの区切り文字のために使用Series.str.replace
し|
ますSeries.str.get_dummies
:
print (df['languages'].str.replace(r';|:|\\|\/|,','|'))
0 Java|JavaScript|Python|HTML|CSS
1 HTML|CSS|JavaScript
2 C|C#
Name: languages, dtype: object
df1 = df['languages'].str.replace(r';|:|\\|\/|,','|').str.get_dummies()
print(df1)
C C# CSS HTML Java JavaScript Python
0 0 0 1 1 1 1 1
1 0 0 1 1 0 1 0
2 1 1 0 0 0 0 0
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加