【发布时间】:2019-06-07 14:27:00
【问题描述】:
我最近不得不编写一个代码,它返回在一个共同项目上合作最多的员工对。这是我想出的代码:
注意 1:Null 被程序读取为“今天”
注2:数据来自一个.txt文件,格式如下:
EmpID,ProjectID,DateFrom,DateTo
1,101,2014-11-01,2015-05-01
1,103,2013-11-01,2016-05-01
2,101,2013-12-06,2014-10-06
2,103,2014-06-05,2015-05-14
3,100,2016-03-01,2018-07-03
3,102,2015-06-04,2017-09-04
3,103,2015-06-04,2017-09-04
4,102,2013-11-13,2014-03-13
4,103,2016-02-14,2017-03-15
4,104,2014-10-01,2015-12-01
5,100,2013-03-07,2015-11-07
5,101,2015-07-09,2019-01-19
5,102,2014-03-15,NULL
6,101,2014-03-15,2014-03-16
我目前遇到的问题是我必须调整/更改代码以返回彼此合作时间最长的一对员工(不是在单个项目上,而是在所有项目上合并)。我在调整我当前的代码时遇到了麻烦,它运行得非常好,我想知道我是否应该从头开始(但这会花费我很多时间,我不这样做)目前没有)。我很难获得一起参与项目的员工组合。
如果有人能给我任何提示,我将不胜感激!谢谢!
编辑1:cmets中的一个人提醒我提一下重叠天数应该算作例子:
整个 6 月,A 人和 B 人在两个项目上工作。这意味着它应计为 30 天的总共同工作(对于两个项目),而不是将两个项目时间加在一起,即为 60 天。
【问题讨论】:
-
是否应该计算或忽略不同项目的重叠天数? IE。如果第 1 人和第 2 人在整个 6 月都在项目 A 和 B 上工作,那么他们有 30 天还是 60 天一起工作?
-
@ALollz 感谢您的提醒,我会将其添加到帖子中。对于您的示例,这意味着 30 天(因为他们只在整个 6 月份一起工作)。
-
这个问题与您的other one 有何不同?如果您参考上下文,它会有所帮助。
-
另外,我们大概谈论了多少项目和员工?这使某些事情或多或少可行
-
另一个极大地帮助我解决了我之前的任务(一个共同项目中最长的工作对)。现在任务不同了,我必须调整我当前的代码,这还不够(或者至少我还没有弄清楚)。 @ALollz 查看帖子中的示例 .txt 文件。这大概就是我所需要的。
标签: python pandas csv datatables combinations