gpt4 book ai didi

python - 如何将一个数据框列拆分为多列

转载 作者:行者123 更新时间:2023-12-03 18:58:22 24 4
gpt4 key购买 nike

  • 我正在学习 Pandas
  • 我有一个数据框列,它在一个由空格分隔的字符串中具有多个值
  • 我必须将此列拆分为许多列
  • 问题是 - 拆分可能会给出可变数量的值
  • 我的代码如下:
    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

    关于python - 如何将一个数据框列拆分为多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65337444/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com