需要对任务进行排序,这样,一旦列出了任务的父项,就应该按顺序进行排序。可以作为有向无环图(DAG)来处理
在此特定示例中, 主要问题是: “ 13 ifhj 5,4,9,15”应该总是在5,4,9和15之后,但是13在15之后。
我正在提供示例输入和预期输出。
I / p:
task_no t_name Parent_Task_Numbers
1 task1 0
2 task2 0
3 task3 0
4 task4 1,2
5 task5 0
6 task6 2
7 task7 4
8 task8 6,1,4
9 task9 10
10 task10 1
11 task11 2
12 task12 3
13 task13 5,4,9,15
15 task15 7,8,2,10
预期的o / p :(这可能与此不同,但是应该提供主要思想)
task_no t_name Parent_Task_Numbers
1 task1 0
2 task2 0
3 task3 0
5 task5 0
10 task10 1
4 task4 1,2
9 task9 10
6 task6 2
11 task11 2
12 task12 3
7 task7 4
15 task15 7,8,2,10
13 task13 5,4,9,15
8 task8 6,1,4
def sort_parent_tasks1(fileName):
df1 = pd.read_csv(fileName)
print("df1.Parent_Task_Numbers.str.split(',')", type(df1.Parent_Task_Numbers.str.split(',')))
df1.Parent_Task_Numbers.str.split(',').apply(sorted, reverse = True).str.join(',').str.strip(',')
df3 = df1.sort_values(['Parent_Task_Numbers'])
df3.to_csv("/fileData/task_files/output/test_generated1.csv")
inputFile = "/fileData/task_files/input/test.csv"
sort_parent_tasks1(inputFile)
我得到的是:这是错误的。
tasknumber taskname Parent_Task_Numbers
1 task1 0
2 task2 0
3 task3 0
5 task5 0
10 task10 1
4 task4 1,2
9 task9 10
6 task6 2
11 task11 2
12 task12 3
7 task7 4
13 task13 5,4,9,15
8 task8 6,1,4
15 task15 7,8,2,1
答案 0 :(得分:0)