【发布时间】:2021-02-09 15:02:49
【问题描述】:
我有一个数据框,每一行都包含一个句子。
我想把里面的行合并在一起,这样每一行就包含了每个作者的4句话。
我有类似这样的数据框:
text: author
sent1 x
sent2 x
sent3 x
..
sent1002 x
sent1 y
sent2 y
sent3 y
..
sent2598 y
sent1 z
sent2 z
sent3 z
..
sent3698 z
我想把它转换成这样的东西:
text author
setn1,sent2,sent3,sent4 x
..
sent1000,sent1001,sent1002,sent1003 y
sent1,sent2,sent3,sent4 z
【问题讨论】:
-
嗨,玛丽,请提供一段代码,我们可以运行它来生成您的输入示例,以及一段代码来为该输入生成您想要的输出。
-
@ibarrond 感谢您的回答... print df.groupby('author')['text'].apply(','.join).reset_index() 我是这样写的。 ..但它将所有发送的内容连接在一起...我只想为每行制作4个句子,而不是一个作者的所有句子...
-
有几种方法可以做到这一点。一种简单的方法是首先根据第二列“排序”列表。因此,同一作者的数据在彼此之下。使用 for 循环:for i in range (0,len(df)): if df[i,1]==df[i+1,1]: 将第一列添加到一起。然后删除 i+1 行。希望有帮助
-
这个操作背后的逻辑是什么?
-
我想从文本中获得一些文体特征,但我无法从样本中的一个句子中得到好的结果,建议将每个样本转换为多句块@Manakin