【发布时间】:2021-11-04 10:22:33
【问题描述】:
我有两只熊猫df,它们的长度不同。 df1 在 id 列中具有唯一 ID。这些 id 在df2.colA 中出现(多次)。我想将df2.colA 中所有出现的df1.id 的列表(以及df1.id == df2.colA 匹配索引处的另一列)添加到df1 的新列中。可以使用匹配的索引df2.colA,也可以使用所有匹配的其他行条目。
例子:
df1.id = [1, 2, 3, 4]
df2.colA = [3, 4, 4, 2, 1, 1]
df2.colB = [5, 9, 6, 5, 8, 7]
这样我的操作会创建如下内容:
df1.colAB = [ [[1,8],[1,7]], [[2,5]], [[3,5]], [[4,9],[4,6]] ]
我尝试了很多映射方法、显式循环(超级慢)、检查isin 等。
【问题讨论】:
标签: python pandas dataframe merge matching