我有两个表示数据表的 numpy 数组字典。第一个表是工作列表 (job_no) 及其开始日期 (start_date)。第二个表是每个作业要完成的任务列表 (task_no)。我想通过加入 job_no 来有效地将开始日期添加到任务级表中。
下面是将正确的开始日期添加到任务级别表后的表格外观示例。
job_no | start_date job_no | task_no . start_date
_______ ___________ _______ ________ . __________
0 | 2019-01-01 0 | 1 . 2019-01-01
1 | 2019-01-04 0 | 2 . + 2019-01-01
2 | 2019-01-20 0 | 3 . 2019-01-01
3 | 2019-02-03 1 | 1 . 2019-01-04
4 | 2019-02-13 1 | 2 . 2019-01-04
...
我通常会尽量避免使用 python 循环,而是使用 numpy 函数来提高效率,但我坚持在这种情况下如何做到这一点。
我的数据集有大约 25000 个工作和 100000 个任务,下面的代码在完成上面的过程中很慢。
jobs = {job_no : np.array(...), start_date : np.array(...)}
tasks = {job_no : np.array(...), task_no : np.array(...)}
tasks['start_date'] = np.empty(len(tasks['job_no']))
for job_ind, job_no in enumerate(jobs['job_no']):
inds = np.where(tasks['job_no'] == job_no)
tasks['start_date'][inds] = jobs['start_date'][job_ind]
使用 numpy 函数有没有更有效的方法来做到这一点?
慕盖茨4494581
相关分类