df = read.table(text = 'ID Day Count Count_sum
33021 9535 3 29
33029 9535 3 29
34001 9535 3 29
32010 9534 2 29
33023 9534 2 29
45012 9533 4 29
47001 9533 4 29
48010 9533 4 29
50001 9533 4 29
49004 9532 1 29
9002 9531 2 29
67008 9531 2 29
40011 9530 1 29
42003 9529 2 29
42011 9529 2 29
55023 9528 1 29
40012 9527 3 29
43007 9527 3 29
47011 9527 3 29
52004 9526 4 29
52005 9526 4 29
52006 9526 4 29
52007 9526 4 29
19001 9525 1 29
57008 9524 5 29
57010 9524 5 29
58006 9524 5 29
58008 9524 5 29
59001 9524 5 29
58008 9537 3 27
66001 9537 3 27
68001 9537 3 27
54057 9536 1 27
33021 9535 3 27
33029 9535 3 27
34001 9535 3 27
32010 9534 2 27
33023 9534 2 27
32010 9534 2 27
33023 9534 2 27
45012 9533 4 27
47001 9533 4 27
48010 9533 4 27
50001 9533 4 27
45012 9533 4 27
47001 9533 4 27
48010 9533 4 27
50001 9533 4 27
49004 9532 1 27
49004 9532 1 27
9002 9531 2 27
67008 9531 2 27
9002 9531 2 27
67008 9531 2 27
40011 9530 1 27
40011 9530 1 27
42003 9529 2 27
42011 9529 2 27
42003 9529 2 27
42011 9529 2 27
55023 9528 1 27
55023 9528 1 27
40012 9527 3 27
43007 9527 3 27
47011 9527 3 27
40012 9527 3 27
43007 9527 3 27
47011 9527 3 27
52004 9526 4 27
52005 9526 4 27
52006 9526 4 27
52007 9526 4 27
52004 9526 4 27
52005 9526 4 27
52006 9526 4 27
52007 9526 4 27
19001 9525 1 27
57008 9524 5 27
57010 9524 5 27
58006 9524 5 27
58008 9524 5 27
59001 9524 5 27
65004 9523 1 27
49004 9532 1 26
9002 9531 2 26
67008 9531 2 26
40011 9530 1 26
42003 9529 2 26
42011 9529 2 26
55023 9528 1 26
40012 9527 3 26
43007 9527 3 26
47011 9527 3 26
52004 9526 4 26
52005 9526 4 26
52006 9526 4 26
52007 9526 4 26
19001 9525 1 26
57008 9524 5 26
57010 9524 5 26
58006 9524 5 26
58008 9524 5 26
59001 9524 5 26
65004 9523 1 26
75003 9522 1 26
76007 9521 4 26
77002 9521 4 26
77003 9521 4 26
78003 9521 4 26
48007 9538 2 25
48011 9538 2 25
58008 9537 3 25
66001 9537 3 25
68001 9537 3 25
54057 9536 1 25
54057 9536 1 25
33021 9535 3 25
33029 9535 3 25
34001 9535 3 25
33021 9535 3 25
33029 9535 3 25
34001 9535 3 25
32010 9534 2 25
33023 9534 2 25
32010 9534 2 25
33023 9534 2 25
45012 9533 4 25
47001 9533 4 25
48010 9533 4 25
50001 9533 4 25
45012 9533 4 25
47001 9533 4 25
48010 9533 4 25
50001 9533 4 25
45012 9533 4 25
47001 9533 4 25
48010 9533 4 25
50001 9533 4 25
49004 9532 1 25
49004 9532 1 25
49004 9532 1 25
9002 9531 2 25
67008 9531 2 25
9002 9531 2 25
67008 9531 2 25
9002 9531 2 25
67008 9531 2 25
9002 9531 2 25
67008 9531 2 25
40011 9530 1 25
40011 9530 1 25
40011 9530 1 25
40011 9530 1 25
42003 9529 2 25
42011 9529 2 25
42003 9529 2 25
42011 9529 2 25
42003 9529 2 25
42011 9529 2 25
42003 9529 2 25
42011 9529 2 25
55023 9528 1 25
55023 9528 1 25
55023 9528 1 25
55023 9528 1 25
40012 9527 3 25
43007 9527 3 25
47011 9527 3 25
40012 9527 3 25
43007 9527 3 25
47011 9527 3 25
40012 9527 3 25
43007 9527 3 25
47011 9527 3 25
40012 9527 3 25
43007 9527 3 25
47011 9527 3 25
52004 9526 4 25
52005 9526 4 25
52006 9526 4 25
52007 9526 4 25
52004 9526 4 25
52005 9526 4 25
52006 9526 4 25
52007 9526 4 25
52004 9526 4 25
52005 9526 4 25
52006 9526 4 25
52007 9526 4 25
19001 9525 1 25
19001 9525 1 25
19001 9525 1 25
57008 9524 5 25
57010 9524 5 25
58006 9524 5 25
58008 9524 5 25
59001 9524 5 25
57008 9524 5 25
57010 9524 5 25
58006 9524 5 25
58008 9524 5 25
59001 9524 5 25
65004 9523 1 25
65004 9523 1 25
75003 9522 1 25
75003 9522 1 25
76007 9521 4 25
77002 9521 4 25
77003 9521 4 25
78003 9521 4 25
74001 9520 1 25
39093 9539 2 24
41006 9539 2 24
48007 9538 2 24
48011 9538 2 24
58008 9537 3 24
66001 9537 3 24
68001 9537 3 24
54057 9536 1 24
33021 9535 3 24
33029 9535 3 24
34001 9535 3 24
32010 9534 2 24
33023 9534 2 24
45012 9533 4 24
47001 9533 4 24
48010 9533 4 24
50001 9533 4 24
49004 9532 1 24
9002 9531 2 24
67008 9531 2 24
40011 9530 1 24
40011 9530 1 24
42003 9529 2 24
42011 9529 2 24
42003 9529 2 24
42011 9529 2 24
42003 9529 2 24
42011 9529 2 24
55023 9528 1 24
55023 9528 1 24
55023 9528 1 24
40012 9527 3 24
43007 9527 3 24
47011 9527 3 24
40012 9527 3 24
43007 9527 3 24
47011 9527 3 24
52004 9526 4 24
52005 9526 4 24
52006 9526 4 24
52007 9526 4 24
52004 9526 4 24
52005 9526 4 24
52006 9526 4 24
52007 9526 4 24
19001 9525 1 24
19001 9525 1 24
57008 9524 5 24
57010 9524 5 24
58006 9524 5 24
58008 9524 5 24
59001 9524 5 24
57008 9524 5 24
57010 9524 5 24
58006 9524 5 24
58008 9524 5 24
59001 9524 5 24
65004 9523 1 24
65004 9523 1 24
75003 9522 1 24
75003 9522 1 24
76007 9521 4 24
77002 9521 4 24
77003 9521 4 24
78003 9521 4 24
76007 9521 4 24
77002 9521 4 24
77003 9521 4 24
78003 9521 4 24
74001 9520 1 24
74001 9520 1 24
33021 9518 1 24
55023 9528 1 22
40012 9527 3 22
43007 9527 3 22
47011 9527 3 22
52004 9526 4 22
52005 9526 4 22
52006 9526 4 22
52007 9526 4 22
19001 9525 1 22
57008 9524 5 22
57010 9524 5 22
58006 9524 5 22
58008 9524 5 22
59001 9524 5 22
65004 9523 1 22
75003 9522 1 22
76007 9521 4 22
77002 9521 4 22
77003 9521 4 22
78003 9521 4 22
74001 9520 1 22
33021 9518 1 22
40012 9527 3 21
43007 9527 3 21
47011 9527 3 21
52004 9526 4 21
52005 9526 4 21
52006 9526 4 21
52007 9526 4 21
19001 9525 1 21
57008 9524 5 21
57010 9524 5 21
58006 9524 5 21
58008 9524 5 21
59001 9524 5 21
65004 9523 1 21
75003 9522 1 21
76007 9521 4 21
77002 9521 4 21
77003 9521 4 21
78003 9521 4 21
74001 9520 1 21
33021 9518 1 21
52004 9526 4 18
52005 9526 4 18
52006 9526 4 18
52007 9526 4 18
19001 9525 1 18
57008 9524 5 18
57010 9524 5 18
58006 9524 5 18
58008 9524 5 18
59001 9524 5 18
65004 9523 1 18
75003 9522 1 18
76007 9521 4 18
77002 9521 4 18
77003 9521 4 18
78003 9521 4 18
74001 9520 1 18
33021 9518 1 18
19001 9525 1 14
57008 9524 5 14
57010 9524 5 14
58006 9524 5 14
58008 9524 5 14
59001 9524 5 14
65004 9523 1 14
75003 9522 1 14
76007 9521 4 14
77002 9521 4 14
77003 9521 4 14
78003 9521 4 14
74001 9520 1 14
33021 9518 1 14
57008 9524 5 13
57010 9524 5 13
58006 9524 5 13
58008 9524 5 13
59001 9524 5 13
65004 9523 1 13
75003 9522 1 13
76007 9521 4 13
77002 9521 4 13
77003 9521 4 13
78003 9521 4 13
74001 9520 1 13
33021 9518 1 13
65004 9523 1 8
75003 9522 1 8
76007 9521 4 8
77002 9521 4 8
77003 9521 4 8
78003 9521 4 8
74001 9520 1 8
33021 9518 1 8
75003 9522 1 7
76007 9521 4 7
77002 9521 4 7
77003 9521 4 7
78003 9521 4 7
74001 9520 1 7
33021 9518 1 7
76007 9521 4 6
77002 9521 4 6
77003 9521 4 6
78003 9521 4 6
74001 9520 1 6
33021 9518 1 6
74001 9520 1 2
33021 9518 1 2
33021 9518 1 1', header = TRUE)
Day
列显示天数;
Count
列显示该特定日期的ID总和;
Count_sum
列显示{12}的块ID
之和,即Day + Day -1 + Day -2 + Day -3 + Day -4 + Day -5 + Day -6 + Day - 7 + Day -8 + Day -9 + Day -10 + Day -11。
e.g。 1)Count_sum = 29因为它代表3(第9535天)+ 2(第9534天)+4(第9533天)+ 1(第9532天)+2(第9531天)+ 1(第9530天)+2(第二天)的总和9529)+ 1(第9528天)+3(第9527天)+4(第9526天)+ 1(第9525天)+5(第9524天);
2)Count_sum = 27因为3(第9537天)+ 1(第9536天)+3(第9535天)+2(第9534天)+4(第9533天)+ 1(第9532天)+2(第9531天) )+ 1(第9530天)+ 2天9529)+ 1(第9528天)+3(第9527天)+4(第9526天);
等等等。我需要做的是将第5列(Episode_ID)添加到df
,将每个12天的剧集分组为1到21的唯一值(因为在df
中有21个独特的天)。
Count_sum几乎正确地对它们进行分组,但是可以有2个或更多具有相同Count_sum值的12天剧集,并且这些剧集也可以在几天内重叠。
我的真实data.frame包含> 300,000行,我还希望获得适用于12天剧集的代码(作为df
),但也适用于按2,3分组的其他data.frames 4,5,6,7,8,n天。
这是df
(12天集)的预期输出:
ID Day Count Count_sum Episode_ID
33021 9535 3 29 1
33029 9535 3 29 1
34001 9535 3 29 1
32010 9534 2 29 1
33023 9534 2 29 1
45012 9533 4 29 1
47001 9533 4 29 1
48010 9533 4 29 1
50001 9533 4 29 1
49004 9532 1 29 1
9002 9531 2 29 1
67008 9531 2 29 1
40011 9530 1 29 1
42003 9529 2 29 1
42011 9529 2 29 1
55023 9528 1 29 1
40012 9527 3 29 1
43007 9527 3 29 1
47011 9527 3 29 1
52004 9526 4 29 1
52005 9526 4 29 1
52006 9526 4 29 1
52007 9526 4 29 1
19001 9525 1 29 1
57008 9524 5 29 1
57010 9524 5 29 1
58006 9524 5 29 1
58008 9524 5 29 1
59001 9524 5 29 1
58008 9537 3 27 2
66001 9537 3 27 2
68001 9537 3 27 2
54057 9536 1 27 2
33021 9535 3 27 2
33029 9535 3 27 2
34001 9535 3 27 2
32010 9534 2 27 2
33023 9534 2 27 2
45012 9533 4 27 2
47001 9533 4 27 2
48010 9533 4 27 2
50001 9533 4 27 2
49004 9532 1 27 2
9002 9531 2 27 2
67008 9531 2 27 2
40011 9530 1 27 2
42003 9529 2 27 2
42011 9529 2 27 2
55023 9528 1 27 2
40012 9527 3 27 2
43007 9527 3 27 2
47011 9527 3 27 2
52004 9526 4 27 2
52005 9526 4 27 2
52006 9526 4 27 2
52007 9526 4 27 2
32010 9534 2 27 3
33023 9534 2 27 3
45012 9533 4 27 3
47001 9533 4 27 3
48010 9533 4 27 3
50001 9533 4 27 3
49004 9532 1 27 3
9002 9531 2 27 3
67008 9531 2 27 3
40011 9530 1 27 3
42003 9529 2 27 3
42011 9529 2 27 3
55023 9528 1 27 3
40012 9527 3 27 3
43007 9527 3 27 3
47011 9527 3 27 3
52004 9526 4 27 3
52005 9526 4 27 3
52006 9526 4 27 3
52007 9526 4 27 3
19001 9525 1 27 3
57008 9524 5 27 3
57010 9524 5 27 3
58006 9524 5 27 3
58008 9524 5 27 3
59001 9524 5 27 3
65004 9523 1 27 3
49004 9532 1 26 4
9002 9531 2 26 4
67008 9531 2 26 4
40011 9530 1 26 4
42003 9529 2 26 4
42011 9529 2 26 4
55023 9528 1 26 4
40012 9527 3 26 4
43007 9527 3 26 4
47011 9527 3 26 4
52004 9526 4 26 4
52005 9526 4 26 4
52006 9526 4 26 4
52007 9526 4 26 4
19001 9525 1 26 4
57008 9524 5 26 4
57010 9524 5 26 4
58006 9524 5 26 4
58008 9524 5 26 4
59001 9524 5 26 4
65004 9523 1 26 4
75003 9522 1 26 4
76007 9521 4 26 4
77002 9521 4 26 4
77003 9521 4 26 4
78003 9521 4 26 4
48007 9538 2 25 5
48011 9538 2 25 5
58008 9537 3 25 5
66001 9537 3 25 5
68001 9537 3 25 5
54057 9536 1 25 5
33021 9535 3 25 5
33029 9535 3 25 5
34001 9535 3 25 5
32010 9534 2 25 5
33023 9534 2 25 5
45012 9533 4 25 5
47001 9533 4 25 5
48010 9533 4 25 5
50001 9533 4 25 5
49004 9532 1 25 5
9002 9531 2 25 5
67008 9531 2 25 5
40011 9530 1 25 5
42003 9529 2 25 5
42011 9529 2 25 5
55023 9528 1 25 5
40012 9527 3 25 5
43007 9527 3 25 5
47011 9527 3 25 5
54057 9536 1 25 6
33021 9535 3 25 6
33029 9535 3 25 6
34001 9535 3 25 6
32010 9534 2 25 6
33023 9534 2 25 6
45012 9533 4 25 6
47001 9533 4 25 6
48010 9533 4 25 6
50001 9533 4 25 6
49004 9532 1 25 6
9002 9531 2 25 6
67008 9531 2 25 6
40011 9530 1 25 6
42003 9529 2 25 6
42011 9529 2 25 6
55023 9528 1 25 6
40012 9527 3 25 6
43007 9527 3 25 6
47011 9527 3 25 6
52004 9526 4 25 6
52005 9526 4 25 6
52006 9526 4 25 6
52007 9526 4 25 6
19001 9525 1 25 6
45012 9533 4 25 7
47001 9533 4 25 7
48010 9533 4 25 7
50001 9533 4 25 7
49004 9532 1 25 7
9002 9531 2 25 7
67008 9531 2 25 7
40011 9530 1 25 7
42003 9529 2 25 7
42011 9529 2 25 7
55023 9528 1 25 7
40012 9527 3 25 7
43007 9527 3 25 7
47011 9527 3 25 7
52004 9526 4 25 7
52005 9526 4 25 7
52006 9526 4 25 7
52007 9526 4 25 7
19001 9525 1 25 7
57008 9524 5 25 7
57010 9524 5 25 7
58006 9524 5 25 7
58008 9524 5 25 7
59001 9524 5 25 7
65004 9523 1 25 7
75003 9522 1 25 7
9002 9531 2 25 8
67008 9531 2 25 8
40011 9530 1 25 8
42003 9529 2 25 8
42011 9529 2 25 8
55023 9528 1 25 8
40012 9527 3 25 8
43007 9527 3 25 8
47011 9527 3 25 8
52004 9526 4 25 8
52005 9526 4 25 8
52006 9526 4 25 8
52007 9526 4 25 8
19001 9525 1 25 8
57008 9524 5 25 8
57010 9524 5 25 8
58006 9524 5 25 8
58008 9524 5 25 8
59001 9524 5 25 8
65004 9523 1 25 8
75003 9522 1 25 8
76007 9521 4 25 8
77002 9521 4 25 8
77003 9521 4 25 8
78003 9521 4 25 8
74001 9520 1 25 8
39093 9539 2 24 9
41006 9539 2 24 9
48007 9538 2 24 9
48011 9538 2 24 9
58008 9537 3 24 9
66001 9537 3 24 9
68001 9537 3 24 9
54057 9536 1 24 9
33021 9535 3 24 9
33029 9535 3 24 9
34001 9535 3 24 9
32010 9534 2 24 9
33023 9534 2 24 9
45012 9533 4 24 9
47001 9533 4 24 9
48010 9533 4 24 9
50001 9533 4 24 9
49004 9532 1 24 9
9002 9531 2 24 9
67008 9531 2 24 9
40011 9530 1 24 9
42003 9529 2 24 9
42011 9529 2 24 9
55023 9528 1 24 9
40011 9530 1 24 10
42003 9529 2 24 10
42011 9529 2 24 10
55023 9528 1 24 10
40012 9527 3 24 10
43007 9527 3 24 10
47011 9527 3 24 10
52004 9526 4 24 10
52005 9526 4 24 10
52006 9526 4 24 10
52007 9526 4 24 10
19001 9525 1 24 10
57008 9524 5 24 10
57010 9524 5 24 10
58006 9524 5 24 10
58008 9524 5 24 10
59001 9524 5 24 10
65004 9523 1 24 10
75003 9522 1 24 10
76007 9521 4 24 10
77002 9521 4 24 10
77003 9521 4 24 10
78003 9521 4 24 10
74001 9520 1 24 10
42003 9529 2 24 11
42011 9529 2 24 11
55023 9528 1 24 11
40012 9527 3 24 11
43007 9527 3 24 11
47011 9527 3 24 11
52004 9526 4 24 11
52005 9526 4 24 11
52006 9526 4 24 11
52007 9526 4 24 11
19001 9525 1 24 11
57008 9524 5 24 11
57010 9524 5 24 11
58006 9524 5 24 11
58008 9524 5 24 11
59001 9524 5 24 11
65004 9523 1 24 11
75003 9522 1 24 11
76007 9521 4 24 11
77002 9521 4 24 11
77003 9521 4 24 11
78003 9521 4 24 11
74001 9520 1 24 11
33021 9518 1 24 11
55023 9528 1 22 12
40012 9527 3 22 12
43007 9527 3 22 12
47011 9527 3 22 12
52004 9526 4 22 12
52005 9526 4 22 12
52006 9526 4 22 12
52007 9526 4 22 12
19001 9525 1 22 12
57008 9524 5 22 12
57010 9524 5 22 12
58006 9524 5 22 12
58008 9524 5 22 12
59001 9524 5 22 12
65004 9523 1 22 12
75003 9522 1 22 12
76007 9521 4 22 12
77002 9521 4 22 12
77003 9521 4 22 12
78003 9521 4 22 12
74001 9520 1 22 12
33021 9518 1 22 12
40012 9527 3 21 13
43007 9527 3 21 13
47011 9527 3 21 13
52004 9526 4 21 13
52005 9526 4 21 13
52006 9526 4 21 13
52007 9526 4 21 13
19001 9525 1 21 13
57008 9524 5 21 13
57010 9524 5 21 13
58006 9524 5 21 13
58008 9524 5 21 13
59001 9524 5 21 13
65004 9523 1 21 13
75003 9522 1 21 13
76007 9521 4 21 13
77002 9521 4 21 13
77003 9521 4 21 13
78003 9521 4 21 13
74001 9520 1 21 13
33021 9518 1 21 13
52004 9526 4 18 14
52005 9526 4 18 14
52006 9526 4 18 14
52007 9526 4 18 14
19001 9525 1 18 14
57008 9524 5 18 14
57010 9524 5 18 14
58006 9524 5 18 14
58008 9524 5 18 14
59001 9524 5 18 14
65004 9523 1 18 14
75003 9522 1 18 14
76007 9521 4 18 14
77002 9521 4 18 14
77003 9521 4 18 14
78003 9521 4 18 14
74001 9520 1 18 14
33021 9518 1 18 14
19001 9525 1 14 15
57008 9524 5 14 15
57010 9524 5 14 15
58006 9524 5 14 15
58008 9524 5 14 15
59001 9524 5 14 15
65004 9523 1 14 15
75003 9522 1 14 15
76007 9521 4 14 15
77002 9521 4 14 15
77003 9521 4 14 15
78003 9521 4 14 15
74001 9520 1 14 15
33021 9518 1 14 15
57008 9524 5 13 16
57010 9524 5 13 16
58006 9524 5 13 16
58008 9524 5 13 16
59001 9524 5 13 16
65004 9523 1 13 16
75003 9522 1 13 16
76007 9521 4 13 16
77002 9521 4 13 16
77003 9521 4 13 16
78003 9521 4 13 16
74001 9520 1 13 16
33021 9518 1 13 16
65004 9523 1 8 17
75003 9522 1 8 17
76007 9521 4 8 17
77002 9521 4 8 17
77003 9521 4 8 17
78003 9521 4 8 17
74001 9520 1 8 17
33021 9518 1 8 17
75003 9522 1 7 18
76007 9521 4 7 18
77002 9521 4 7 18
77003 9521 4 7 18
78003 9521 4 7 18
74001 9520 1 7 18
33021 9518 1 7 18
76007 9521 4 6 19
77002 9521 4 6 19
77003 9521 4 6 19
78003 9521 4 6 19
74001 9520 1 6 19
33021 9518 1 6 19
74001 9520 1 2 20
33021 9518 1 2 20
33021 9518 1 1 21
如果您看到输出,则在Count_sum
= 27内有2个不同的剧集,Count_sum
= 25集4集,Count_sum
= 24等2集。
Episode_ID列从1到21开始,其中1是具有最大Count_group的剧集,当有2个或更多具有相同Count_group的剧集时,他们需要按Day decrease = TRUE排序。
这是我在(Update) Add index column to data.frame based on two columns尝试过但不起作用的内容:
1)
df$Episode_ID <- cumsum(c(1,abs(diff(df$Day)) > 1) + c(0,diff(df$Count_sum) != 0) > 0)
2)
library(data.table)
Episode_ID <-setDT(df)[, if(Count_sum[1L] < .N) ((seq_len(.N)-1) %/% Count_sum[1L])+1
else as.numeric(Count_sum), rleid(Count_sum)][, rleid(V1)]
df = df[, Episode_ID := Episode_ID]
有什么建议吗?
答案 0 :(得分:0)
我必须承认我还没有完全理解所有细节,特别是 episode 没有明确的定义,所提供的数据在我看来并不完全符合如何描述计算ramy@ramy-Aspire-4739Z:~$ sudo pip install --upgrade https://get.graphlab.com/GraphLab-Create/2.1/mohangtrichy@gmail.com/<KEY>/GraphLab-Create-License.tar.gz
Downloading/unpacking https://get.graphlab.com/GraphLab-Create/2.1/mohangtrichy@gmail.com/<KEY>/GraphLab-Create-License.tar.gz
Cleaning up...
Exception:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
status = self.run(options, args)
File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 278, in run
requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1198, in prepare_files
do_download,
File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1376, in unpack_url
self.session,
File "/usr/lib/python2.7/dist-packages/pip/download.py", line 546, in unpack_http_url
resp = session.get(target_url, stream=True)
File "/usr/share/python-wheels/requests-2.2.1-py2.py3-none-any.whl/requests/sessions.py", line 467, in get
return self.request('GET', url, **kwargs)
File "/usr/lib/python2.7/dist-packages/pip/download.py", line 237, in request
return super(PipSession, self).request(method, url, *args, **kwargs)
File "/usr/share/python-wheels/requests-2.2.1-py2.py3-none-any.whl/requests/sessions.py", line 455, in request
resp = self.send(prep, **send_kwargs)
File "/usr/share/python-wheels/requests-2.2.1-py2.py3-none-any.whl/requests/sessions.py", line 558, in send
r = adapter.send(request, **kwargs)
File "/usr/share/python-wheels/requests-2.2.1-py2.py3-none-any.whl/requests/adapters.py", line 385, in send
raise SSLError(e)
SSLError: [Errno 1] _ssl.c:510: error:14077438:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert internal error
Storing debug log for failure in /home/ramy/.pip/pip.log
ramy@ramy-Aspire-4739Z:~$
。
然而,我能够重现预期的结果。
建议的解决方案是基于Count_sum
由多个单调递减序列组成的观察结果(可能是OP意味着剧集 )。因此,任务是识别新序列开始的中断,推进序列计数器,并使用该序列id对该序列的所有后续行进行编号。
这是通过
实现的Day
请注意,此处OP提供的第二个数据集用于证明计算符合预期结果。例如,第一次中断发生在第29行和第30行之间:
library(data.table) # CRAN version 1.10.4 used
setDT(expected)[, Sequence_ID := cumsum(Day - shift(Day, fill = -1L) > 0)]
表达已经认识到从第9524天到第9537天的跳跃。
不幸的是,最后存在差异:
expected[28:31]
# ID Day Count Count_sum Episode_ID Sequence_ID
#1: 58008 9524 5 29 1 1
#2: 59001 9524 5 29 1 1
#3: 58008 9537 3 27 2 2
#4: 66001 9537 3 27 2 2
OP已将最后一行分配给新剧集,尽管日期仍处于单调递减顺序。如果这只是提供的数据中的错误,我们就完成了。
如果这是故意的,则必须使用tail(expected, 11)
# ID Day Count Count_sum Episode_ID Sequence_ID
# 1: 74001 9520 1 7 18 18
# 2: 33021 9518 1 7 18 18
# 3: 76007 9521 4 6 19 19
# 4: 77002 9521 4 6 19 19
# 5: 77003 9521 4 6 19 19
# 6: 78003 9521 4 6 19 19
# 7: 74001 9520 1 6 19 19
# 8: 33021 9518 1 6 19 19
# 9: 74001 9520 1 2 20 20
#10: 33021 9518 1 2 20 20
#11: 33021 9518 1 1 21 20
方便的Count_sum
功能在剧集的编号中考虑data.table
中的更改:
rleid()
这也可以作为单行
更简洁地书写expected[, new_Episode_ID := rleid(Sequence_ID, Count_sum)]
tail(expected, 5L)
# ID Day Count Count_sum Episode_ID Sequence_ID new_Episode_ID
#1: 74001 9520 1 6 19 19 19
#2: 33021 9518 1 6 19 19 19
#3: 74001 9520 1 2 20 20 20
#4: 33021 9518 1 2 20 20 20
#5: 33021 9518 1 1 21 20 21
expected[, new_Episode_ID := rleid(cumsum(Day - shift(Day, fill = -1L) > 0), Count_sum)]