我有一个一列数据框。该列的行包含通常跨越多行的对话。每个人的对话行末尾都有相同的字符“&,,”组合,如下所示:
Words
1 hello world! &,,
2 I woke up this morning and made some eggs.
3 They tasted good. &,,
我想将不以“&,,”结尾的每一行与下一行合并,以便每一行都是不同的人在说话,而不是同一段落的多行。它看起来像这样:
Words
1 hello world! &,,
2 I woke up this morning and made some eggs. They tasted good. &,,
我见过的与此类似的每个问题都涉及另一列,该列将指定一些额外信息,对于我的示例,它可能会说明谁在说话,但对于这个数据集,我没有这个数据集,也没有另一个包含更多信息的数据集信息,我所拥有的只是分隔符。
最佳答案
您可以加入
您的值并在分隔符上拆分
以重新创建数据框:
df = pd.DataFrame(
''.join(df.Words.values)
.split('&,,'), columns=['Words']
)
Words
0 hello world!
1 I woke up this morning and made some eggs.They...
2
如果最后一列以 &,,
结尾,这可能会导致空值,但过滤这些行很容易:
df.loc[df.Words.ne('')]
Words
0 hello world!
1 I woke up this morning and made some eggs.They...
关于python - pandas:连接字符串行直到特定字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51119315/