我如何使用替换然后在 pandas 中创建新行?

How I can use replace and then make new rows in pandas?

我的数据框的每一行都有几个词。他们被 , 分开了。如果在所有行之后都有 space,我想删除 ,。然后在我有 ,.

的地方创建新行

例如让我有:

title               id
A, home,sad, Kar    1
car,figth, Sumer    2
light,daad,Hi       3

A 之后的第一行 , 之后还有 space,在 sad 之后。在 figth 之后的第二行。最后一行很好。所以我会在新的行中休息并保留他们的 id.

title               id
A home              1
sad Kar             1
car,                2
figth Sumer         2
light               3
 daad              3
 Hi                3
 park              3

让我们试试 str.replace + str.split 然后是 explode:

df.assign(title=df['title'].str.replace(r',\s', ' ').str.split(',')).explode('title')

         title  id
0       A home   1
0      sad Kar   1
1          car   2
1  figth Sumer   2
2        light   3
2         daad   3
2           Hi   3

积极尝试:

df.assign(title=df.title.str.split(',(?=\S)')).explode('title')

输出:

          title  id
0       A, home   1
0      sad, Kar   1
1           car   2
1  figth, Sumer   2
2         light   3
2          daad   3
2            Hi   3