我如何使用替换然后在 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
我的数据框的每一行都有几个词。他们被 ,
分开了。如果在所有行之后都有 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