【发布时间】:2019-10-22 08:49:53
【问题描述】:
我有一个数据框,其中包含 x 个变量和一个 id_number 1:n(n 很大)。我想创建一个新的数据框,根据数据框中的 id_number 水平合并每一对。 原始数据如下所示:
id_number var_x1 var_x2
1 sth stuff
2 other things
3 more info
我想为每一对可能的配对获得这个:
id_numberA var_x1A var_x2A id_numberB var_x1B var_x2B
1 sth stuff 1 sth stuff
1 sth stuff 2 other things
1 sth stuff 3 more info
2 other things 3 more info
对于大型数据集,最有效的方法是什么?
【问题讨论】:
-
为什么在请求的输出中有
id = 1与自身的组合,但没有id = 2 (or 3)与自身的组合? -
因为id=1和id=2的组合已经在第二行完成了,所以不需要再次组合id=2和id=1。
-
我问为什么在请求输出的第一行中将
id = 1与id = 1组合在一起,但您没有将id = 2与id = 2组合在一起。无论如何,在我答案的最后一行代码中,它过滤了现有的组合。
标签: python dataframe merge melt