首页 > 解决方案 > Pandas 列展平为重复行

问题描述

我有一个数据框,其中一列作为字符串,其值用逗号分隔。我想将其展平为只有单个字符串值的列,而其他列变为重复

df = pd.DataFrame({'a':['1,2','4','3,5'], 'b':['a','b','c'], 's':[.1,.2,.3]})

这给出了一个像这样的数据框:

       a        b       c
      '1,2'    'a'     .1
      '4'      'b'     .2
      '3,5'    'c'     .3

我想把它变成一个看起来像这样的数据框:

df = pd.DataFrame({'a':['1','2','4','3','5'], 'b':['a','a','b','c','c'], 's':[.1,.1,.2,.3,.3]})

喜欢:

       a      b       c
      '1'    'a'     .1
      '2'    'a'     .1
      '4'    'b'     .2
      '3'    'c'     .3
      '5'    'c'     .3

我试图通过拆分字符串列来开始这样做

df = df.join(df[a].str.split(',', 1, expand=True))

它将拆分字符串列附加到最后的新列中,但我无法完成任务。任何帮助表示赞赏!

标签: pythonpandasdataframe

解决方案


推荐阅读