我有一些在线任务的输出,我需要将其整理成可用的评分形式,这需要多个条件才能正确整理。我尝试使用 if 和 else 语句,但我很难以这种方式满足所需的所有条件。所需数据和条件的描述 - 在第一列中,有与该人的响应相对应的三个可能值:“是”、“否”或“NR”(表示尚未给出响应)。第二列是一种计数器,应该按顺序从 1 到 5 运行,但如果用户按住按键时间过长,它会重复一个值。因此,对于第二列中的每个计数,我希望第一列中有一个相应的响应,这应该是针对该计数给出的第一个响应(“是”或“否”)。如果在整个计数期间没有给出响应,则应保持为“NR”。然后计数再次从 1 到 5 重复。例如,这个输入数据:
response count
0 yes 1
1 yes 1
2 yes 1
3 no 1
4 yes 1
5 no 2
6 no 2
7 no 2
8 NR 3
9 NR 3
10 no 3
11 NR 3
12 NR 4
13 NR 4
14 NR 4
15 yes 5
16 yes 5
17 NR 1
18 NR 1
19 NR 2
20 yes 3
21 yes 3
22 yes 3
23 no 4
24 yes 4
25 no 5
应该减少到这样:
response count
0 yes 1
1 no 2
2 no 3
3 NR 4
4 yes 5
5 NR 1
6 NR 2
7 yes 3
8 no 4
9 no 5
这是一个有点令人困惑的问题,到目前为止,我还没有找到应用于数组的条件组合或 if/else 语句来给我想要的结果。任何帮助或想法将不胜感激!
输入数据的源代码:
response = ['yes','yes','yes','no','yes','no','no','no','NR','NR','no','NR','NR','NR','NR','yes','yes','NR','NR','NR','yes','yes','yes','no','yes','no']
count = [1,1,1,1,1,2,2,2,3,3,3,3,4,4,4,5,5,1,1,2,3,3,3,4,4,5]
data_dict = {'response': response,
'count':count}
data = pd.DataFrame(data_dict)
呼唤远方
相关分类