Python 如何将一个dataframe列拆分为多个列
我在学熊猫Python 如何将一个dataframe列拆分为多个列,python,pandas,dataframe,Python,Pandas,Dataframe,我在学熊猫 我有一个dataframe列,它在一个由空格分隔的字符串中有多个值 我得把这个专栏分成许多专栏 问题是-拆分可能会给出不同数量的值 我的代码如下: import pandas as pd df = pd.DataFrame({'institute': ['Learn Free Academy', 'Free Code Academy',
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#
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
用于|
,因为默认分隔符位于:
使用
df['languages'].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