首页 > 解决方案 > Python:将一行的多行拆分为单个(单独)行

问题描述

我有一个包含公司和人员名称的数据框。例如,在同一行中,第一列是公司名称,第二列是公司成员的姓名(每行一个名称)。每个公司的人数都不一样,我有100多家公司。

这是数据集的示例:

Company name                DM Full name

LA CAMPAGNOLA SA            Mr Victor Daniel Martin
                            Mr Fernando Luis Falco
                            Mr Gustavo Pablo Macchi
                            Mr Marcelo Dario Siano
INVERSORA ELECTRICA S.A.    Mr Luis Pablo Rogelio Pagano
                            Mr Damian Eduardo Sanfilippo
                            Mr Sebastian Cordova Moyano
                            Ms Sylvina Gabriela Sanchez
                            Mr Luis Rodolfo Secco
                            Mr Jaime Javier Barba

我需要的是创建一个新的数据框,其中每一行都是一个独立的项目,其中包括公司名称和员工姓名,如下所示:

Company name                DM Full name

LA CAMPAGNOLA SA            Victor Daniel Martin
LA CAMPAGNOLA SA            Fernando Luis Falco
LA CAMPAGNOLA SA            Gustavo Pablo Macchi
LA CAMPAGNOLA SA            Marcelo Dario Siano
INVERSORA ELECTRICA S.A.    Luis Pablo Rogelio Pagano
INVERSORA ELECTRICA S.A.    Damian Eduardo Sanfilippo
INVERSORA ELECTRICA S.A.    Sebastian Cordova Moyano
INVERSORA ELECTRICA S.A.    Sylvina Gabriela Sanchez
INVERSORA ELECTRICA S.A.    Luis Rodolfo Secco
INVERSORA ELECTRICA S.A.    Jaime Javier Barba

我找到了不同的示例作为方法,但没有一个有效。例如:在 pandas 数据框中将单元格拆分为多行

有人可以帮我看看怎么做吗?

标签: pythonpandasdataframe

解决方案


我设法解决了这个问题:

colNames = ('Company name','DM Full name')

# Define a dataframe with the required column names
masterDF = pd.DataFrame(columns = colNames)

for i in range (0, len(df)):
    names=df[df.columns[1]][i]
    names=names.splitlines()
    for name in names:
        count+=1
        if name.replace(' ','').isalpha():
            name=name.replace('Mr ','').replace('Ms ','')
            company=df[df.columns[0]][i]
            company=company.replace('\n',' ')
        else:
            pass

        a = str(company)
        b = str(name)

        masterDF = masterDF.append({'Company name': a, 'DM Full name': b}, ignore_index=True)

print masterDF

推荐阅读