如何在特定单词之前多次将信息从一行添加到另一行?

How can I add info from one row to another row multiple times before a specific word?

假设我有一个 table 如下:

ID             Description
1           code: xyz; code:axy
2      code: 238a; code: 34u; code: 482m
3             code: 24sd
4         code: 3edn; code: 3n23

我想要以下 table:

ID            Description
1              code: xyz
1              code: axy
2              code: 238a
2              code: 34u
2              code: 482m
3              code: 24sd
4              code: 3edn
4              code: 3n23

我的实际代码:

for line in fhand["Description"]:
    x = line.replace(";" , ",")
    y = txt.replace("code", [fhand['Id'] + "code"])

但是,如您所想,它不起作用。谁能帮我解决这个问题?

您可以尝试(我假设您的 DataFrame 被命名为 fhand,如您的代码示例所示):

fhand['Description'] = fhand['Description'].str.split(';')
fhand = fhand.explode('Description')

编辑:你可能想在之后添加一个lstrip

fhand['Description'] = fhand['Description'].str.lstrip()

结果:

    Description
ID             
1     code: xyz
1      code:axy
2    code: 238a
2     code: 34u
2    code: 482m
3    code: 24sd
4    code: 3edn
4    code: 3n23

(在您的示例中 code:axy 在“:”后面没有空格:这是偶然的吗?)