[英]How to split one dataframe column into many columns
我正在學習 pandas
我有一個 dataframe 列,它在一個用空格分隔的字符串中有多個值
我必須將此列拆分為許多列
問題是 - 拆分可能會給出可變數量的值
我的代碼如下:
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
使用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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.