0

我需要在 pandas 数据框中为列中的每条记录创建一行,并且必须重复"ativos"其他数据 ( )。记录由列中"nome"的此字符串分隔。但是,我不知道如何正确地做到这一点。"\r\n""ativos"

   nome            activos
0  Luiz  ABC\r\nDEF\r\nGHI

预期结果:

   nome activos
0  Luiz     ABC
1  Luiz     DEF
2  Luiz     GHI
4

2 回答 2

2

使用str.splitexplode

out = df.assign(activos=df['ativos'].str.split(r'\\r\\n')).explode('ativos')
print(out)

# Output
   nome ativos
0  Luiz    ABC
0  Luiz    DEF
0  Luiz    GHI

设置:

df = pd.DataFrame({'nome': ['Luiz'], 'ativos': [r'ABC\r\nDEF\r\nGHI']})
print(df)

# Output
   nome             ativos
0  Luiz  ABC\r\nDEF\r\nGHI
于 2021-12-27T14:51:11.047 回答
0

您可以使用splitexplode

df['activos'] = df['activos'].str.split(r'\\r\\n')
df.explode('activos', ignore_index=True)
于 2021-12-27T14:47:49.033 回答