递归迭代创建人员列表的更优雅的方法

时间:2019-05-31 22:03:21

标签: python pandas dataframe

当我只有雇员及其经理的清单时,是否有更好的方法来创建属于单个领导者组织的雇员清单?

我当前的方法是在FULL(包含所有雇员及其经理的数据帧)中找到向该主管报告的雇员(TEMP1),将TEMP1附加到运行清单(SMITH_STAFF),然后遍历TEMP1以查找其直接报告以FULL(保存到TEMP2)保存,将TEMP2保存到SMITH_STAFF,等等。

我的方法行得通,但是很怪异。必须有一个更好的方法,但是我所有的搜索和尝试循环等都没有用。我找不到更优雅的方式。

FULL数据框包含所有员工的“电子邮件地址”和“经理电子邮件地址”。示例:

电子邮件地址经理电子邮件地址 雇员1约翰史密斯 员工2员工1 员工3员工2 employee4 tomhamks

SMITH_STAFF = pd.DataFrame()
TEMP1 = FULL.loc[FULL['Mgr Email Address']=="johnsmith@company.com"]
SMITH_STAFF = SMITH_STAFF.append(TEMP1)

TEMP2 = pd.DataFrame()
for index, row in TEMP1.iterrows():
    TEMP2 = TEMP2.append(FULL.loc[FULL['Mgr Email Address']==row["Email 
Address"]])
SMITH_STAFF = SMITH_STAFF.append(TEMP2)

TEMP3 = pd.DataFrame()
for index, row in TEMP2.iterrows():
    TEMP3 = TEMP3.append(FULL.loc[FULL['Mgr Email Address']==row["Email 
Address"]])
SMITH_STAFF = SMITH_STAFF.append(TEMP3)

我希望史密斯职员文件包含最终报告给JohnSmith的所有雇员的雇员和经理电子邮件地址。在此示例中,该名称为employee1,employee2和employee3

0 个答案:

没有答案