代码之家  ›  专栏  ›  技术社区  ›  NicolaiF

使用pandas将连接的字符串拆分为单独的列

  •  1
  • NicolaiF  · 技术社区  · 6 年前

    我有一个由一列组成的数据帧,其中包含一个用“/”分隔的字符串。我想把这些分隔的字符串拆分成一个用布尔值表示的新列(如果它们存在的话)

    d = {'col1': ["A/B/C", "B/C", "D/B/A", "C/B"]}
    dataFrame = pd.DataFrame(data=d)
    
        col1
    0   A/B/C
    1   B/C
    2   D/B/A
    3   C/B
    

    结果如下:

    d = {'A': [1, 0, 1, 0], 'B':[1,1,1,1], 'C':[1,1,0,1], 'D':[0,0,1,0]}
    dataFrame = pd.DataFrame(data=d)
    
        A   B   C   D
    0   1   1   1   0
    1   0   1   1   0
    2   1   1   0   1
    3   0   1   1   0
    

    1 回复  |  直到 6 年前
        1
  •  4
  •   piRSquared    6 年前

    使用 pandas.Series.str.get_dummies

    df.col1.str.get_dummies('/')
    
       A  B  C  D
    0  1  1  1  0
    1  0  1  1  0
    2  1  1  0  1
    3  0  1  1  0
    

    安装程序

    d = {'col1': ["A/B/C", "B/C", "D/B/A", "C/B"]}
    df = pd.DataFrame(data=d)