簡體   English   中英

如何將 dataframe 列拆分為多列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM