给定另一列中的约束,如何从数据框创建对?

时间:2019-08-16 03:55:11

标签: python python-3.x loops

我需要从电子邮件列表中随机匹配两封员工电子邮件。职员对不能具有相同的经理,并且不能之前已经配对。实现这一目标的最佳方法?我对Python不太满意,所以甚至不知道如何开始。我发现的其他类似问题并没有太大帮助。

我有两个数据集:

  1. 活动成员列表 A栏:工作人员的电子邮件 B列:员工经理

    hash = Hash.new(0)
    hash["foo"] += 1
    hash["foo"] += 1
    hash["foo"]
    # => 2
    
  2. 历史比赛列表

    Emails             Managers
    jessica@xyz.com    Bob
    alex@xyz.com       Justin
    lucy@xyz.com       Justin
    eric@xyz.com       Zach
    brandon@xyz.com    Tony
    dylan@xyz.com      Patty
    

它看起来像什么:

Emails             Managers
lucy@xyz.com       Justin
eric@xyz.com       Zach

我到目前为止所拥有的(笑):

    Emails1            Managers1    Emails2            Managers2
    dylan@xyz.com      Patty        lucy@xyz.com       Justin
    eric@xyz.com       Zach         brandon@xyz.com    Tony
    ...

traceback

dtypes

1 个答案:

答案 0 :(得分:0)

尝试一下,让我知道它是否有效


df['if_duplicate'] = df.duplicated(subset=['managers'])
unique_incdices = [x for x in df.shape[0] if df.loc[x,'if_duplicated']==False]

unique_incdices = [x for x in unique_incdices if x not in historical_matches['emails'].values]
ab = np.random.randint(0,len(unique_incdices),size=2)
i,j = unique_incdices[ab[0]],unique_incdices[ab[1]]

i and j are indices of two rows who