Excel 将逗号分隔的单元格内容转换为同一列中的多个单元格

Excel 将逗号分隔的单元格内容转换为同一列中的多个单元格,excel,python-3.x,pandas,Excel,Python 3.x,Pandas,我有一个excel文件,其中包含以下类型的数据 Pink_Floyd,Beatles,Pearl_Jam,Porcupine_Tree 5.56 数据由相同类型的行组成。数值在下一个单元格中。 我想把它转换成以下格式- Pink_Floyd 5.56 Beatles 5.56 Pearl_Jam 5.56 Porcupine_Tree 5.56 如何操作?使用: df = pd.DataFrame({'A': ['Pink_Floyd,Beatles,Pearl_Jam,Porcu

我有一个excel文件,其中包含以下类型的数据

Pink_Floyd,Beatles,Pearl_Jam,Porcupine_Tree 5.56
数据由相同类型的行组成。数值在下一个单元格中。 我想把它转换成以下格式-

Pink_Floyd 5.56
Beatles    5.56
Pearl_Jam  5.56
Porcupine_Tree 5.56 
如何操作?

使用:

df = pd.DataFrame({'A': ['Pink_Floyd,Beatles,Pearl_Jam,Porcupine_Tree', 'Beatles'], 
                   'B': [5.56, 10.0]})
print (df)
                                             A      B
0  Pink_Floyd,Beatles,Pearl_Jam,Porcupine_Tree   5.56
1                                      Beatles  10.00

说明

  • 按提取列
    A
  • 然后转到
    DataFrame
  • 重塑
  • 然后删除第一级的
    多索引
  • 通过重命名来更改列名
  • 最后为原始列,如有必要,按
    list
  • 或通过构造函数创建新的
    DataFrame

    from itertools import chain
    
    a = df['A'].str.split(',')
    
    df = pd.DataFrame({
        'A' : list(chain.from_iterable(a.values.tolist())), 
        'B' : df['B'].values.repeat(a.str.len())
    })
    


    好的,我有一个3000行的数据文件,如何分配您添加的标题?返回什么
    df=pd.read\u excel(文件)
    print(df.columns)
    ?它返回
    索引(['second\u final','Unnamed:1',dtype='object')
    ,second\u final是file@Mark-您可以设置列名称,如
    df.columns=['A','B']
    @Mark-很难回答的问题,也许一些教程会有所帮助,我很喜欢。
    from itertools import chain
    
    a = df['A'].str.split(',')
    
    df = pd.DataFrame({
        'A' : list(chain.from_iterable(a.values.tolist())), 
        'B' : df['B'].values.repeat(a.str.len())
    })
    
    print (df)
                    A      B
    0      Pink_Floyd   5.56
    1         Beatles   5.56
    2       Pearl_Jam   5.56
    3  Porcupine_Tree   5.56
    4         Beatles  10.00