【发布时间】:2017-09-01 00:02:35
【问题描述】:
我有一个包含两列的 csv:员工 ID 'eid' 和经理的员工 ID 'mid'。尝试获取 python 代码,该代码将为每个员工添加显示经理的员工 ID 的列,一直到 CEO。 CEO 的员工 ID 为 1。最终我想将结果写回 csv。
所以数据看起来像:
eid, mid
111, 112
113, 112
112, 114
114, 115
115, 1
我期待这样的输出。请注意,虽然没有员工会有超过 4 级的经理,但我也想学习动态命名列的 python。
eid, mid, l2mid l3mid l4mid
111, 112, 114, 115, 1
113, 112, 114, 115, 1
112, 114, 115, 1
114, 115, 1
115, 1
我对编码非常陌生,并试图自学但一直卡住。我的问题:
1) 我试图使用 for 语句在给定的行中使用mid,然后找到该经理的经理,依此类推,直到我到达 CEO。我一直在尝试这些方面:
df = pd.read_csv('employee.csv')
if mid =! 1
for i in df:
df.['l2mid'] = df.loc[df.eid == [i], [mid]]
也许我正在倒退,我应该尝试按经理对所有员工进行分组?这段代码会有什么不同?
我在C# 和sql 中看到了解决方案,我也看到了构建trees 和json 的解决方案。我非常感谢任何帮助和鼓励。
更新:下一步是添加国家/地区列 - 请参阅:entry here
【问题讨论】: