【发布时间】:2020-05-17 10:29:58
【问题描述】:
我有一个由一些推文组成的数据集。每条推文都排成一排。我想将属于同一“对话”的推文合并在一起。我通过将tweet_ID 值与reply_to_ID 值匹配来确定哪些推文属于特定对话。基本上,当一条推文的reply_to_ID 与另一条推文的tweet_ID 匹配时,这意味着前一条推文是对后者的回复。下面是一个例子:
tweet_ID reply_to_ID
1 None
2 1
3 1
4 3
5 None
6 4
7 5
8 None
9 5
结果应该是这样的
1 |None |2 |1 |3 |1 |4 |3 |6 |4 |
5 |None |7 |5 |9 |5
8 |None
在此示例中,tweet_ID = 1 获得两个“直接”回复:tweet_ID = 2, 3 和两个“间接”回复:tweet_ID = 4, 6,它们是对 tweet_ID = 3 和 tweet_ID = 4 的回复,但被视为对 tweet_ID = 1 的间接回复因为tweet_ID = 3 本身就是对tweet_ID =1 的回复,而tweet_ID = 6 是对tweet_ID =4 的回复,这是对tweet_ID =1 的间接回复。我们不知道这个兔子洞有多深。换句话说,我们不知道给定推文有多少间接回复。
tweet_ID = 5 有两个直接回复,没有间接回复,tweet_ID = 8 既没有直接回复也没有间接回复。
This link 有一个代码可以用来提取“直接”回复,但是在间接回复的情况下,我们应该怎么做,合并中的键在两列之间交替出现?
【问题讨论】:
-
你试过什么?你可以发布你的代码吗?