首页 > 解决方案 > 根据两列的相同值创建显示行之间配对的列

问题描述

我对如何做到这一点有点困惑。假设我在 python 中有一个这样的数据框。我将如何在python中创建代码,以便在A列中具有相同值并且在B列中也具有相同值的所有行将在第三列C中匹配。例如,如果两行在列中具有值1 A 并且它们在 B 列中具有相同的值,它们将在 C 列中组合在一起。因此,即使它们在 A 中具有相同的值,它们也必须在 B 中具有相同的值才能在同一组中。

input                          output

a   b                          a   b    c  
1   5                          1   5    group 1 
2   6                          2   6    group 2
1   5                          1   5    group 1  
2   6                          2   6    group 2    
1   6                          1   6    group 3
1   6                          1   6    group 3

我知道我可以使用 np.where 做这样的事情,但这是一个很大的数据集,所以我想知道是否有更有效的方法来做这件事。在此先感谢,非常感谢任何帮助!

标签: pythonpython-3.x

解决方案


使用集:

a = [1, 2, 1, 2, 1, 1]
b = [5, 6, 5, 6, 6, 6]

res = set()
for _a, _b in zip(a, b):
    res.add((_a, _b))

print(res)

产量

{(1, 5), (2, 6), (1, 6)}

推荐阅读