python - 在给定另一列中找到的约束的情况下,如何根据数据框创建对?

标签 python python-3.x loops

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

我有两个数据集:

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

    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
    
  2. 历史比赛列表

    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
    ...

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

# Dependencies and Setup
import pandas as pd
import numpy as np
import itertools

# Load file and read in the data
active_data = pd.read_csv("Active.csv")
historical_data = pd.read_csv("Historical.csv")

# Preview data
active_data.head(7)

traceback

dtypes

最佳答案

试试这个,让我知道它是否有效


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 

关于python - 在给定另一列中找到的约束的情况下,如何根据数据框创建对?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57518720/

相关文章:

python - 如何在 Django 中进行分层验证?

python - 从 sklearn.model_selection.GridSearchCV 获取 keyerror

python - 如何从 PyCharm 项目获取我的 "exe"

python - 在 Python 中区分相等列表项的最佳方法

python - 创建一个由两个列表组成的元组函数

Python Pandas Drop 数据框

Python循环练习

Javascript while 或 for 循环更改字符串直到满足条件

java - 欧拉计划 #11

python - 有没有办法跟踪函数被调用的次数?