In [1]:
import networkx as nx
import matplotlib.pyplot as plt
import numpy as np
import warnings
from custom import custom_funcs as cf
from datetime import datetime

warnings.filterwarnings('ignore')

%load_ext autoreload
%autoreload 2
%matplotlib inline

In [2]:
import pandas as pd
import numpy as np

In [3]:
df = pd.read_excel("Final.xlsx")
df.head()


Out[3]:
id length nviews rating nratings ncomments n2views rating2 n2ratings n2comments n3views rating3 n3ratings n3comments n4views rating4 n4ratings n4comments
0 unBXluuefRU 113 12030 4.96 52 6 101091 4.64 226 70 132499 4.65 244 69 146381 4.65 261 68
1 3HsmNxciJYw 21 9530 4.85 514 0 66059 4.24 630 43 69150 4.17 644 47 72323 4.15 648 46
2 EhwRecP_wB0 215 1734 4.83 216 134 5640 4.74 305 169 7124 4.76 346 188 8348 4.76 361 188
3 LThmT86KN2c 268 944 4.61 212 152 6705 4.62 578 381 9009 4.62 695 450 10058 4.63 729 453
4 Ntf90dyYDtM 309 1038 4.87 162 0 5766 4.69 174 0 6388 4.69 176 0 8558 4.66 207 0

In [4]:
dfniviews = df.copy()
dfn2views = df.copy()
dfn3views = df.copy()
dfn4views = df.copy()

In [5]:
dfniviews = dfniviews.sort_values('nviews', ascending=False)
dfniviews.head(10)


Out[5]:
id length nviews rating nratings ncomments n2views rating2 n2ratings n2comments n3views rating3 n3ratings n3comments n4views rating4 n4ratings n4comments
0 unBXluuefRU 113 12030 4.96 52 6 101091 4.64 226 70 132499 4.65 244 69 146381 4.65 261 68
1 3HsmNxciJYw 21 9530 4.85 514 0 66059 4.24 630 43 69150 4.17 644 47 72323 4.15 648 46
229 OeRl4YAg59I 55 8059 4.65 17 9 33942 4.60 42 25 36939 4.51 43 31 38987 4.51 43 34
14 WgDUNn8q4qo 474 5289 4.50 2 78 18892 4.22 18 157 23708 4.25 24 180 28376 4.28 25 206
115 c0fLwukjd_A 54 2285 5.00 7 9 4531 5.00 7 10 4951 4.50 8 18 5201 4.50 8 18
2 EhwRecP_wB0 215 1734 4.83 216 134 5640 4.74 305 169 7124 4.76 346 188 8348 4.76 361 188
114 A2j_JhkPV8k 72 1612 5.00 5 2 3898 5.00 7 5 4334 5.00 7 5 4649 4.50 8 7
218 6KcauZxpJk4 57 1535 4.20 5 12 9285 4.26 19 34 13905 4.42 24 60 15854 4.44 25 62
5 AKTNTM3-FQY 194 1455 4.69 136 105 5475 4.47 215 176 6593 4.47 251 190 7606 4.47 276 208
10 R083B_q2OVo 183 1243 3.97 92 112 5514 3.44 164 172 8406 3.42 209 211 10124 3.39 241 227

In [6]:
dfn2views = dfn2views.sort_values('n2views', ascending=False)
dfn2views.head(10)


Out[6]:
id length nviews rating nratings ncomments n2views rating2 n2ratings n2comments n3views rating3 n3ratings n3comments n4views rating4 n4ratings n4comments
0 unBXluuefRU 113 12030 4.96 52 6 101091 4.64 226 70 132499 4.65 244 69 146381 4.65 261 68
1 3HsmNxciJYw 21 9530 4.85 514 0 66059 4.24 630 43 69150 4.17 644 47 72323 4.15 648 46
229 OeRl4YAg59I 55 8059 4.65 17 9 33942 4.60 42 25 36939 4.51 43 31 38987 4.51 43 34
206 TV1JCEwrF6E 138 58 0.00 0 0 25959 3.00 9 2 198 5.00 1 0 18607 3.44 16 27
197 OnWCxBrTBJE 176 14 0.00 0 0 25959 3.00 9 2 198 5.00 1 0 18607 3.44 16 27
112 Eb9bCR0C9UM 179 402 3.80 5 2 25959 3.00 9 2 198 5.00 1 0 18607 3.44 16 27
15 Vwc3_9zfXi4 16 348 4.49 49 56 25134 4.07 565 396 48653 3.98 716 457 76007 3.96 848 509
21 d3rdTZUdxXI 77 936 3.43 23 55 21444 3.44 244 542 33487 3.48 315 851 35963 3.49 332 907
14 WgDUNn8q4qo 474 5289 4.50 2 78 18892 4.22 18 157 23708 4.25 24 180 28376 4.28 25 206
268 onrWx8IvfzY 223 864 3.00 4 3 11649 3.82 45 38 56318 4.03 123 133 88793 4.10 189 224

In [7]:
dfn3views = dfn3views.sort_values('n3views', ascending=False)
dfn3views.head(10)


Out[7]:
id length nviews rating nratings ncomments n2views rating2 n2ratings n2comments n3views rating3 n3ratings n3comments n4views rating4 n4ratings n4comments
0 unBXluuefRU 113 12030 4.96 52 6 101091 4.64 226 70 132499 4.65 244 69 146381 4.65 261 68
1 3HsmNxciJYw 21 9530 4.85 514 0 66059 4.24 630 43 69150 4.17 644 47 72323 4.15 648 46
268 onrWx8IvfzY 223 864 3.00 4 3 11649 3.82 45 38 56318 4.03 123 133 88793 4.10 189 224
15 Vwc3_9zfXi4 16 348 4.49 49 56 25134 4.07 565 396 48653 3.98 716 457 76007 3.96 848 509
229 OeRl4YAg59I 55 8059 4.65 17 9 33942 4.60 42 25 36939 4.51 43 31 38987 4.51 43 34
21 d3rdTZUdxXI 77 936 3.43 23 55 21444 3.44 244 542 33487 3.48 315 851 35963 3.49 332 907
14 WgDUNn8q4qo 474 5289 4.50 2 78 18892 4.22 18 157 23708 4.25 24 180 28376 4.28 25 206
45 V31LZllgwBA 202 574 4.56 9 4 4806 4.00 37 28 18240 4.30 64 63 38943 4.29 97 88
36 cLWWJtqLtes 96 782 4.50 4 0 9205 4.67 6 3 15782 4.67 6 3 18854 4.67 6 3
125 aL1J6Js8tTQ 63 1 0.00 0 0 3151 3.67 3 16 14250 3.76 17 55 21556 3.74 27 70

In [8]:
dfn4views = dfn4views.sort_values('n4views', ascending=False)
dfn4views.head(10)


Out[8]:
id length nviews rating nratings ncomments n2views rating2 n2ratings n2comments n3views rating3 n3ratings n3comments n4views rating4 n4ratings n4comments
0 unBXluuefRU 113 12030 4.96 52 6 101091 4.64 226 70 132499 4.65 244 69 146381 4.65 261 68
268 onrWx8IvfzY 223 864 3.00 4 3 11649 3.82 45 38 56318 4.03 123 133 88793 4.10 189 224
15 Vwc3_9zfXi4 16 348 4.49 49 56 25134 4.07 565 396 48653 3.98 716 457 76007 3.96 848 509
1 3HsmNxciJYw 21 9530 4.85 514 0 66059 4.24 630 43 69150 4.17 644 47 72323 4.15 648 46
189 1caJKvNjIuU 1394 74 0.00 0 1 1125 5.00 8 6 8474 4.98 42 28 43182 4.85 256 91
229 OeRl4YAg59I 55 8059 4.65 17 9 33942 4.60 42 25 36939 4.51 43 31 38987 4.51 43 34
45 V31LZllgwBA 202 574 4.56 9 4 4806 4.00 37 28 18240 4.30 64 63 38943 4.29 97 88
21 d3rdTZUdxXI 77 936 3.43 23 55 21444 3.44 244 542 33487 3.48 315 851 35963 3.49 332 907
47 YCU-qgR_4bM 321 70 0.00 0 0 914 5.00 8 3 3907 5.00 20 10 35131 4.94 114 84
244 T_Z26eVhB8Q 135 219 5.00 1 0 1490 3.67 3 0 9505 4.82 22 1 29556 4.85 34 1

In [9]:
vidsdfniviews = [(index,row['nviews']) for index, row in dfniviews.iterrows()]
print(vidsdfniviews)


[(0, 12030), (1, 9530), (229, 8059), (14, 5289), (115, 2285), (2, 1734), (114, 1612), (218, 1535), (5, 1455), (10, 1243), (117, 1202), (16, 1192), (103, 1164), (104, 1162), (54, 1119), (7, 1118), (9, 1113), (13, 1098), (4, 1038), (8, 984), (27, 978), (3, 944), (21, 936), (111, 929), (268, 864), (219, 862), (46, 858), (127, 845), (48, 839), (33, 826), (36, 782), (49, 726), (44, 710), (230, 669), (76, 595), (6, 585), (41, 575), (45, 574), (157, 552), (225, 525), (292, 521), (72, 492), (11, 488), (12, 484), (227, 474), (226, 442), (193, 441), (17, 426), (112, 402), (211, 392), (56, 388), (107, 361), (29, 357), (224, 354), (273, 354), (15, 348), (293, 348), (210, 325), (275, 299), (40, 297), (64, 281), (32, 281), (238, 280), (142, 265), (207, 262), (163, 247), (118, 241), (194, 239), (126, 236), (222, 233), (244, 219), (221, 216), (186, 213), (208, 213), (220, 212), (128, 212), (289, 211), (113, 209), (57, 207), (79, 206), (223, 205), (38, 197), (55, 189), (116, 189), (43, 176), (106, 173), (278, 159), (80, 146), (286, 145), (95, 137), (62, 132), (228, 127), (86, 118), (94, 116), (90, 116), (18, 115), (102, 113), (19, 111), (23, 103), (22, 102), (130, 102), (305, 94), (136, 94), (119, 91), (258, 89), (299, 86), (185, 86), (144, 86), (150, 85), (51, 84), (274, 84), (129, 78), (216, 78), (73, 77), (37, 76), (189, 74), (131, 73), (24, 73), (164, 72), (287, 70), (47, 70), (310, 67), (65, 67), (83, 65), (302, 64), (82, 64), (284, 64), (267, 63), (91, 62), (61, 62), (26, 60), (239, 59), (139, 59), (132, 58), (206, 58), (235, 58), (309, 58), (182, 55), (152, 53), (88, 53), (101, 52), (140, 51), (281, 51), (296, 51), (280, 49), (298, 48), (314, 48), (138, 47), (50, 45), (53, 45), (52, 43), (59, 43), (297, 43), (39, 42), (301, 40), (277, 40), (315, 40), (108, 40), (320, 40), (259, 40), (300, 40), (67, 40), (74, 39), (147, 38), (232, 38), (255, 37), (188, 37), (279, 37), (169, 37), (31, 34), (312, 34), (28, 34), (66, 33), (87, 33), (153, 33), (81, 33), (254, 33), (159, 32), (105, 32), (198, 31), (234, 30), (236, 30), (253, 30), (322, 30), (63, 30), (161, 29), (285, 29), (175, 29), (179, 29), (199, 28), (172, 28), (200, 28), (173, 27), (269, 27), (266, 26), (231, 26), (149, 26), (187, 26), (30, 26), (42, 25), (257, 25), (184, 25), (202, 24), (35, 24), (134, 24), (270, 24), (93, 24), (92, 24), (143, 24), (181, 23), (203, 22), (109, 21), (176, 20), (58, 20), (89, 20), (311, 20), (70, 19), (195, 19), (242, 19), (60, 18), (316, 18), (263, 18), (321, 18), (77, 18), (262, 18), (84, 17), (85, 17), (78, 17), (145, 17), (271, 17), (167, 17), (168, 16), (265, 16), (171, 16), (68, 16), (178, 16), (155, 15), (162, 15), (197, 14), (213, 14), (135, 14), (110, 14), (282, 14), (183, 14), (306, 13), (204, 13), (177, 13), (100, 12), (303, 12), (241, 12), (209, 12), (165, 12), (264, 11), (191, 11), (260, 11), (243, 11), (201, 11), (137, 10), (190, 10), (276, 10), (124, 9), (71, 9), (317, 9), (261, 9), (154, 9), (121, 8), (141, 8), (196, 7), (205, 7), (308, 7), (290, 7), (313, 7), (34, 7), (318, 7), (215, 7), (307, 7), (283, 7), (75, 7), (214, 6), (180, 6), (295, 6), (256, 6), (96, 5), (319, 5), (160, 5), (69, 5), (288, 5), (217, 5), (294, 4), (99, 4), (151, 4), (25, 3), (156, 3), (291, 3), (97, 3), (122, 3), (247, 3), (170, 3), (252, 2), (148, 2), (158, 2), (233, 2), (237, 2), (240, 2), (245, 2), (249, 2), (133, 2), (304, 2), (120, 2), (212, 2), (251, 1), (125, 1), (248, 1), (174, 1), (146, 1), (272, 1), (20, 1), (98, 1), (123, 0), (246, 0), (166, 0), (192, 0), (250, 0)]

In [10]:
vidsdfn2views = [(index,row['n2views']) for index, row in dfn2views.iterrows()]
print(vidsdfn2views)


[(0, 101091), (1, 66059), (229, 33942), (206, 25959), (197, 25959), (112, 25959), (15, 25134), (21, 21444), (14, 18892), (268, 11649), (218, 9285), (36, 9205), (3, 6705), (43, 6112), (4, 5766), (6, 5656), (2, 5640), (10, 5514), (5, 5475), (17, 5419), (12, 5173), (33, 5078), (230, 4879), (45, 4806), (20, 4777), (16, 4746), (115, 4531), (103, 4477), (44, 4237), (104, 3983), (114, 3898), (9, 3871), (32, 3538), (27, 3311), (125, 3151), (111, 3075), (11, 3019), (41, 2899), (54, 2886), (46, 2824), (64, 2775), (211, 2710), (117, 2662), (13, 2605), (7, 2601), (223, 2478), (109, 2450), (40, 2440), (8, 2377), (30, 2300), (48, 2177), (193, 2100), (22, 2004), (118, 2004), (29, 1892), (127, 1873), (126, 1809), (23, 1675), (219, 1665), (210, 1648), (49, 1578), (157, 1549), (244, 1490), (163, 1489), (142, 1428), (224, 1362), (225, 1345), (186, 1296), (76, 1257), (24, 1204), (107, 1201), (68, 1196), (113, 1196), (236, 1168), (189, 1125), (26, 1065), (169, 1059), (227, 1050), (133, 1047), (220, 1037), (207, 1011), (116, 1003), (95, 987), (222, 916), (47, 914), (238, 904), (110, 897), (94, 896), (292, 844), (105, 842), (275, 837), (124, 809), (106, 802), (221, 785), (91, 778), (194, 772), (37, 767), (42, 763), (226, 747), (208, 742), (72, 727), (293, 674), (257, 645), (86, 634), (57, 622), (62, 584), (273, 578), (289, 563), (258, 561), (56, 558), (55, 494), (128, 485), (231, 480), (67, 455), (79, 442), (38, 434), (202, 417), (123, 414), (203, 366), (137, 362), (274, 354), (108, 315), (228, 310), (31, 304), (80, 303), (74, 291), (235, 285), (61, 260), (136, 258), (130, 251), (164, 242), (77, 241), (286, 232), (121, 230), (305, 227), (102, 224), (129, 222), (28, 221), (184, 216), (200, 215), (278, 214), (185, 213), (131, 208), (234, 204), (201, 202), (25, 201), (255, 201), (82, 198), (150, 197), (100, 195), (78, 192), (19, 191), (253, 189), (35, 189), (232, 186), (52, 185), (205, 183), (204, 183), (149, 179), (90, 178), (299, 172), (98, 169), (119, 164), (87, 160), (284, 159), (18, 157), (132, 154), (212, 154), (51, 153), (297, 151), (315, 150), (144, 149), (65, 147), (310, 146), (155, 146), (59, 144), (216, 143), (75, 141), (101, 139), (314, 139), (88, 137), (93, 134), (181, 132), (83, 123), (183, 122), (182, 121), (63, 117), (53, 116), (69, 115), (50, 115), (320, 114), (58, 113), (147, 113), (60, 111), (209, 111), (159, 108), (302, 107), (309, 106), (280, 105), (179, 103), (298, 103), (266, 103), (188, 102), (39, 101), (134, 101), (152, 99), (269, 98), (267, 96), (73, 96), (81, 95), (262, 93), (198, 92), (287, 91), (296, 91), (97, 91), (199, 89), (259, 89), (195, 86), (145, 85), (322, 84), (139, 83), (66, 83), (161, 80), (141, 80), (239, 79), (214, 78), (138, 77), (34, 74), (281, 74), (177, 74), (264, 73), (180, 72), (160, 71), (140, 70), (170, 70), (175, 69), (243, 68), (247, 68), (89, 67), (279, 66), (92, 66), (85, 64), (285, 64), (263, 60), (99, 60), (215, 60), (301, 59), (248, 58), (172, 57), (254, 57), (173, 55), (178, 54), (277, 53), (312, 51), (71, 50), (321, 49), (176, 48), (96, 48), (143, 47), (84, 46), (300, 46), (242, 45), (249, 44), (265, 44), (316, 43), (187, 43), (291, 42), (241, 42), (135, 41), (153, 39), (167, 38), (148, 38), (191, 38), (196, 38), (168, 38), (70, 37), (252, 36), (270, 35), (260, 35), (307, 34), (311, 33), (282, 31), (308, 29), (171, 28), (158, 27), (256, 27), (271, 25), (165, 25), (240, 23), (233, 23), (162, 22), (156, 22), (213, 21), (251, 21), (261, 20), (122, 20), (318, 19), (146, 19), (272, 19), (190, 19), (313, 19), (276, 19), (120, 18), (303, 18), (295, 17), (151, 16), (306, 15), (319, 15), (317, 15), (154, 15), (283, 14), (192, 12), (217, 11), (250, 10), (245, 9), (304, 9), (237, 8), (288, 8), (290, 7), (246, 6), (294, 5), (174, 3), (166, 3)]

In [11]:
vidsdfn4views = [(index,row['n4views']) for index, row in dfn4views.iterrows()]
print(vidsdfn4views)


[(0, 146381), (268, 88793), (15, 76007), (1, 72323), (189, 43182), (229, 38987), (45, 38943), (21, 35963), (47, 35131), (244, 29556), (14, 28376), (12, 25684), (186, 23522), (125, 21556), (126, 20321), (36, 18854), (206, 18607), (112, 18607), (197, 18607), (37, 16400), (218, 15854), (17, 14921), (27, 13199), (11, 12879), (54, 12315), (274, 11712), (32, 11095), (211, 11019), (6, 10674), (103, 10436), (48, 10411), (10, 10124), (3, 10058), (41, 9746), (33, 9421), (16, 9041), (8, 8806), (100, 8627), (43, 8568), (4, 8558), (2, 8348), (142, 8298), (68, 8272), (44, 8068), (5, 7606), (104, 7589), (275, 7474), (9, 7460), (230, 7064), (30, 6541), (127, 6376), (22, 6370), (97, 6254), (7, 6146), (20, 6082), (169, 6046), (49, 5981), (40, 5966), (109, 5777), (163, 5743), (137, 5707), (193, 5590), (23, 5580), (184, 5580), (157, 5261), (115, 5201), (121, 5160), (13, 4930), (99, 4774), (273, 4762), (46, 4673), (114, 4649), (210, 4619), (117, 4455), (149, 4428), (223, 4319), (95, 4285), (64, 4220), (111, 4198), (155, 3788), (133, 3772), (289, 3768), (24, 3706), (226, 3705), (94, 3703), (62, 3651), (238, 3636), (124, 3532), (96, 3530), (118, 3443), (108, 3325), (107, 3289), (91, 3199), (26, 3168), (257, 3115), (236, 3008), (258, 2974), (128, 2919), (255, 2889), (284, 2588), (29, 2584), (164, 2573), (293, 2565), (220, 2504), (170, 2484), (207, 2464), (76, 2425), (224, 2417), (234, 2413), (173, 2408), (232, 2374), (145, 2284), (225, 2282), (123, 2281), (136, 2227), (219, 2183), (231, 2167), (106, 2158), (55, 2135), (110, 2116), (299, 2029), (129, 2022), (42, 1984), (93, 1915), (298, 1876), (31, 1858), (113, 1825), (105, 1752), (18, 1750), (185, 1739), (183, 1725), (314, 1653), (227, 1614), (208, 1533), (194, 1504), (180, 1488), (282, 1452), (253, 1421), (215, 1421), (222, 1387), (130, 1377), (86, 1319), (305, 1301), (92, 1279), (116, 1230), (144, 1229), (315, 1203), (195, 1199), (182, 1183), (56, 1175), (302, 1165), (248, 1165), (221, 1137), (181, 1136), (214, 1128), (266, 1121), (202, 1112), (187, 1063), (77, 1059), (72, 1052), (292, 1050), (83, 1026), (57, 993), (285, 992), (262, 989), (198, 981), (161, 981), (79, 930), (151, 920), (66, 910), (131, 909), (38, 898), (269, 894), (309, 893), (259, 864), (263, 854), (264, 843), (132, 843), (199, 803), (82, 796), (252, 796), (188, 794), (101, 783), (212, 755), (280, 741), (249, 713), (235, 708), (203, 688), (85, 679), (102, 669), (84, 627), (67, 624), (98, 623), (165, 622), (296, 601), (201, 588), (316, 579), (74, 578), (191, 575), (281, 560), (247, 559), (243, 549), (321, 545), (200, 542), (61, 534), (278, 533), (291, 531), (179, 518), (159, 512), (254, 503), (35, 479), (240, 473), (69, 473), (216, 471), (19, 465), (307, 453), (80, 452), (63, 442), (160, 434), (87, 434), (178, 397), (172, 394), (156, 389), (150, 386), (283, 382), (78, 380), (148, 379), (175, 377), (25, 377), (196, 373), (228, 369), (158, 362), (310, 357), (59, 352), (28, 350), (205, 336), (260, 333), (286, 322), (265, 314), (167, 311), (239, 302), (52, 299), (143, 299), (297, 298), (58, 295), (146, 291), (53, 285), (204, 284), (322, 275), (241, 274), (295, 270), (88, 259), (233, 258), (267, 256), (119, 254), (65, 250), (287, 236), (90, 233), (73, 232), (60, 230), (217, 228), (141, 226), (81, 224), (317, 222), (51, 220), (152, 220), (301, 219), (39, 215), (147, 215), (261, 211), (320, 211), (168, 208), (140, 207), (75, 207), (242, 207), (209, 201), (271, 200), (138, 200), (139, 198), (312, 195), (171, 194), (251, 189), (50, 187), (311, 180), (304, 179), (270, 164), (279, 164), (300, 156), (177, 155), (89, 147), (256, 131), (134, 129), (250, 127), (190, 120), (34, 116), (162, 111), (276, 107), (154, 103), (192, 99), (176, 99), (277, 98), (272, 97), (308, 97), (122, 93), (70, 89), (246, 86), (213, 81), (71, 73), (313, 68), (153, 68), (135, 57), (120, 53), (306, 41), (319, 40), (303, 37), (237, 37), (245, 34), (318, 31), (290, 28), (174, 27), (166, 18), (294, 10), (288, 9)]

In [12]:
vidsdfn3views = [(index,row['n3views']) for index, row in dfn3views.iterrows()]
print(vidsdfn3views)


[(0, 132499), (1, 69150), (268, 56318), (15, 48653), (229, 36939), (21, 33487), (14, 23708), (45, 18240), (36, 15782), (125, 14250), (218, 13905), (12, 12655), (17, 11184), (244, 9505), (33, 9284), (186, 9041), (3, 9009), (126, 8572), (189, 8474), (103, 8445), (10, 8406), (54, 8390), (32, 8318), (6, 7937), (43, 7638), (16, 7539), (2, 7124), (41, 7110), (142, 7045), (104, 6637), (44, 6606), (5, 6593), (4, 6388), (230, 6166), (20, 5833), (109, 5408), (9, 5378), (127, 4965), (115, 4951), (11, 4923), (193, 4877), (27, 4830), (22, 4802), (163, 4492), (40, 4481), (114, 4334), (46, 4215), (48, 4123), (64, 4105), (8, 4087), (7, 3978), (30, 3934), (23, 3915), (47, 3907), (111, 3803), (211, 3798), (117, 3790), (13, 3733), (223, 3693), (157, 3490), (68, 3466), (37, 3443), (210, 3364), (133, 3183), (118, 3170), (169, 3066), (49, 2908), (24, 2883), (275, 2784), (95, 2742), (107, 2646), (137, 2567), (236, 2559), (274, 2516), (155, 2510), (258, 2454), (124, 2450), (26, 2375), (29, 2255), (94, 2242), (273, 2107), (257, 2042), (238, 2031), (207, 1996), (91, 1944), (224, 1941), (219, 1907), (106, 1864), (62, 1845), (76, 1840), (293, 1686), (289, 1669), (220, 1662), (100, 1653), (225, 1636), (42, 1592), (123, 1580), (113, 1514), (231, 1493), (173, 1481), (55, 1472), (105, 1455), (110, 1446), (194, 1358), (208, 1356), (108, 1345), (227, 1303), (121, 1265), (222, 1250), (184, 1236), (116, 1169), (31, 1133), (86, 1035), (97, 999), (128, 964), (221, 962), (292, 939), (202, 909), (136, 905), (226, 892), (57, 857), (72, 847), (77, 812), (164, 810), (255, 807), (149, 755), (232, 731), (38, 728), (99, 726), (79, 709), (56, 692), (170, 691), (234, 677), (203, 614), (305, 599), (96, 596), (235, 578), (67, 575), (185, 570), (253, 562), (299, 560), (129, 552), (212, 526), (102, 524), (183, 512), (66, 508), (201, 506), (130, 487), (82, 482), (284, 475), (315, 471), (61, 461), (302, 452), (74, 450), (314, 447), (101, 447), (200, 428), (278, 427), (298, 414), (188, 412), (180, 397), (195, 395), (131, 388), (181, 382), (98, 375), (266, 375), (80, 374), (144, 366), (93, 357), (78, 341), (215, 340), (228, 339), (25, 338), (182, 320), (132, 319), (248, 318), (35, 317), (19, 313), (28, 311), (286, 310), (309, 309), (83, 308), (214, 297), (150, 296), (263, 290), (198, 288), (205, 288), (85, 284), (199, 281), (87, 277), (264, 271), (161, 271), (262, 264), (145, 259), (280, 258), (204, 254), (159, 254), (63, 247), (52, 242), (310, 242), (59, 241), (216, 241), (243, 239), (179, 237), (269, 234), (296, 231), (297, 224), (18, 218), (65, 214), (69, 211), (320, 211), (119, 209), (53, 202), (90, 202), (112, 198), (206, 198), (197, 198), (160, 197), (175, 196), (281, 196), (92, 194), (88, 192), (191, 190), (58, 190), (51, 190), (75, 188), (178, 185), (209, 184), (39, 182), (84, 179), (148, 178), (307, 175), (247, 173), (267, 167), (60, 162), (172, 161), (321, 159), (50, 157), (322, 157), (147, 156), (254, 156), (81, 155), (252, 155), (187, 155), (291, 153), (265, 152), (141, 152), (301, 149), (138, 149), (282, 147), (152, 144), (316, 144), (287, 142), (259, 142), (249, 141), (73, 141), (146, 140), (279, 137), (285, 132), (167, 130), (196, 127), (139, 125), (239, 125), (168, 121), (158, 120), (240, 119), (134, 118), (156, 110), (89, 109), (140, 104), (233, 104), (312, 102), (177, 94), (242, 92), (34, 91), (260, 86), (143, 83), (277, 77), (311, 75), (241, 73), (70, 71), (300, 70), (176, 68), (271, 68), (272, 67), (71, 66), (270, 66), (171, 63), (295, 61), (317, 60), (308, 60), (256, 60), (165, 60), (153, 59), (190, 58), (251, 57), (261, 52), (135, 51), (122, 50), (304, 47), (283, 45), (213, 42), (162, 40), (313, 38), (217, 35), (250, 35), (120, 33), (151, 32), (276, 32), (319, 26), (318, 23), (192, 23), (303, 22), (306, 21), (246, 20), (245, 19), (154, 18), (237, 16), (290, 12), (174, 10), (288, 9), (294, 9), (166, 5)]

In [13]:
niviewslst = [b for a,b in vidsdfniviews]
print(niviewslst)


[12030, 9530, 8059, 5289, 2285, 1734, 1612, 1535, 1455, 1243, 1202, 1192, 1164, 1162, 1119, 1118, 1113, 1098, 1038, 984, 978, 944, 936, 929, 864, 862, 858, 845, 839, 826, 782, 726, 710, 669, 595, 585, 575, 574, 552, 525, 521, 492, 488, 484, 474, 442, 441, 426, 402, 392, 388, 361, 357, 354, 354, 348, 348, 325, 299, 297, 281, 281, 280, 265, 262, 247, 241, 239, 236, 233, 219, 216, 213, 213, 212, 212, 211, 209, 207, 206, 205, 197, 189, 189, 176, 173, 159, 146, 145, 137, 132, 127, 118, 116, 116, 115, 113, 111, 103, 102, 102, 94, 94, 91, 89, 86, 86, 86, 85, 84, 84, 78, 78, 77, 76, 74, 73, 73, 72, 70, 70, 67, 67, 65, 64, 64, 64, 63, 62, 62, 60, 59, 59, 58, 58, 58, 58, 55, 53, 53, 52, 51, 51, 51, 49, 48, 48, 47, 45, 45, 43, 43, 43, 42, 40, 40, 40, 40, 40, 40, 40, 40, 39, 38, 38, 37, 37, 37, 37, 34, 34, 34, 33, 33, 33, 33, 33, 32, 32, 31, 30, 30, 30, 30, 30, 29, 29, 29, 29, 28, 28, 28, 27, 27, 26, 26, 26, 26, 26, 25, 25, 25, 24, 24, 24, 24, 24, 24, 24, 23, 22, 21, 20, 20, 20, 20, 19, 19, 19, 18, 18, 18, 18, 18, 18, 17, 17, 17, 17, 17, 17, 16, 16, 16, 16, 16, 15, 15, 14, 14, 14, 14, 14, 14, 13, 13, 13, 12, 12, 12, 12, 12, 11, 11, 11, 11, 11, 10, 10, 10, 9, 9, 9, 9, 9, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0]

In [14]:
n2viewslst = [b for a,b in vidsdfn2views]
print(n2viewslst)


[101091, 66059, 33942, 25959, 25959, 25959, 25134, 21444, 18892, 11649, 9285, 9205, 6705, 6112, 5766, 5656, 5640, 5514, 5475, 5419, 5173, 5078, 4879, 4806, 4777, 4746, 4531, 4477, 4237, 3983, 3898, 3871, 3538, 3311, 3151, 3075, 3019, 2899, 2886, 2824, 2775, 2710, 2662, 2605, 2601, 2478, 2450, 2440, 2377, 2300, 2177, 2100, 2004, 2004, 1892, 1873, 1809, 1675, 1665, 1648, 1578, 1549, 1490, 1489, 1428, 1362, 1345, 1296, 1257, 1204, 1201, 1196, 1196, 1168, 1125, 1065, 1059, 1050, 1047, 1037, 1011, 1003, 987, 916, 914, 904, 897, 896, 844, 842, 837, 809, 802, 785, 778, 772, 767, 763, 747, 742, 727, 674, 645, 634, 622, 584, 578, 563, 561, 558, 494, 485, 480, 455, 442, 434, 417, 414, 366, 362, 354, 315, 310, 304, 303, 291, 285, 260, 258, 251, 242, 241, 232, 230, 227, 224, 222, 221, 216, 215, 214, 213, 208, 204, 202, 201, 201, 198, 197, 195, 192, 191, 189, 189, 186, 185, 183, 183, 179, 178, 172, 169, 164, 160, 159, 157, 154, 154, 153, 151, 150, 149, 147, 146, 146, 144, 143, 141, 139, 139, 137, 134, 132, 123, 122, 121, 117, 116, 115, 115, 114, 113, 113, 111, 111, 108, 107, 106, 105, 103, 103, 103, 102, 101, 101, 99, 98, 96, 96, 95, 93, 92, 91, 91, 91, 89, 89, 86, 85, 84, 83, 83, 80, 80, 79, 78, 77, 74, 74, 74, 73, 72, 71, 70, 70, 69, 68, 68, 67, 66, 66, 64, 64, 60, 60, 60, 59, 58, 57, 57, 55, 54, 53, 51, 50, 49, 48, 48, 47, 46, 46, 45, 44, 44, 43, 43, 42, 42, 41, 39, 38, 38, 38, 38, 38, 37, 36, 35, 35, 34, 33, 31, 29, 28, 27, 27, 25, 25, 23, 23, 22, 22, 21, 21, 20, 20, 19, 19, 19, 19, 19, 19, 18, 18, 17, 16, 15, 15, 15, 15, 14, 12, 11, 10, 9, 9, 8, 8, 7, 6, 5, 3, 3]

In [15]:
n3viewslst = [b for a,b in vidsdfn3views]
print(n3viewslst)


[132499, 69150, 56318, 48653, 36939, 33487, 23708, 18240, 15782, 14250, 13905, 12655, 11184, 9505, 9284, 9041, 9009, 8572, 8474, 8445, 8406, 8390, 8318, 7937, 7638, 7539, 7124, 7110, 7045, 6637, 6606, 6593, 6388, 6166, 5833, 5408, 5378, 4965, 4951, 4923, 4877, 4830, 4802, 4492, 4481, 4334, 4215, 4123, 4105, 4087, 3978, 3934, 3915, 3907, 3803, 3798, 3790, 3733, 3693, 3490, 3466, 3443, 3364, 3183, 3170, 3066, 2908, 2883, 2784, 2742, 2646, 2567, 2559, 2516, 2510, 2454, 2450, 2375, 2255, 2242, 2107, 2042, 2031, 1996, 1944, 1941, 1907, 1864, 1845, 1840, 1686, 1669, 1662, 1653, 1636, 1592, 1580, 1514, 1493, 1481, 1472, 1455, 1446, 1358, 1356, 1345, 1303, 1265, 1250, 1236, 1169, 1133, 1035, 999, 964, 962, 939, 909, 905, 892, 857, 847, 812, 810, 807, 755, 731, 728, 726, 709, 692, 691, 677, 614, 599, 596, 578, 575, 570, 562, 560, 552, 526, 524, 512, 508, 506, 487, 482, 475, 471, 461, 452, 450, 447, 447, 428, 427, 414, 412, 397, 395, 388, 382, 375, 375, 374, 366, 357, 341, 340, 339, 338, 320, 319, 318, 317, 313, 311, 310, 309, 308, 297, 296, 290, 288, 288, 284, 281, 277, 271, 271, 264, 259, 258, 254, 254, 247, 242, 242, 241, 241, 239, 237, 234, 231, 224, 218, 214, 211, 211, 209, 202, 202, 198, 198, 198, 197, 196, 196, 194, 192, 190, 190, 190, 188, 185, 184, 182, 179, 178, 175, 173, 167, 162, 161, 159, 157, 157, 156, 156, 155, 155, 155, 153, 152, 152, 149, 149, 147, 144, 144, 142, 142, 141, 141, 140, 137, 132, 130, 127, 125, 125, 121, 120, 119, 118, 110, 109, 104, 104, 102, 94, 92, 91, 86, 83, 77, 75, 73, 71, 70, 68, 68, 67, 66, 66, 63, 61, 60, 60, 60, 60, 59, 58, 57, 52, 51, 50, 47, 45, 42, 40, 38, 35, 35, 33, 32, 32, 26, 23, 23, 22, 21, 20, 19, 18, 16, 12, 10, 9, 9, 5]

In [16]:
n4viewslst = [b for a,b in vidsdfn4views]
print(n4viewslst)


[146381, 88793, 76007, 72323, 43182, 38987, 38943, 35963, 35131, 29556, 28376, 25684, 23522, 21556, 20321, 18854, 18607, 18607, 18607, 16400, 15854, 14921, 13199, 12879, 12315, 11712, 11095, 11019, 10674, 10436, 10411, 10124, 10058, 9746, 9421, 9041, 8806, 8627, 8568, 8558, 8348, 8298, 8272, 8068, 7606, 7589, 7474, 7460, 7064, 6541, 6376, 6370, 6254, 6146, 6082, 6046, 5981, 5966, 5777, 5743, 5707, 5590, 5580, 5580, 5261, 5201, 5160, 4930, 4774, 4762, 4673, 4649, 4619, 4455, 4428, 4319, 4285, 4220, 4198, 3788, 3772, 3768, 3706, 3705, 3703, 3651, 3636, 3532, 3530, 3443, 3325, 3289, 3199, 3168, 3115, 3008, 2974, 2919, 2889, 2588, 2584, 2573, 2565, 2504, 2484, 2464, 2425, 2417, 2413, 2408, 2374, 2284, 2282, 2281, 2227, 2183, 2167, 2158, 2135, 2116, 2029, 2022, 1984, 1915, 1876, 1858, 1825, 1752, 1750, 1739, 1725, 1653, 1614, 1533, 1504, 1488, 1452, 1421, 1421, 1387, 1377, 1319, 1301, 1279, 1230, 1229, 1203, 1199, 1183, 1175, 1165, 1165, 1137, 1136, 1128, 1121, 1112, 1063, 1059, 1052, 1050, 1026, 993, 992, 989, 981, 981, 930, 920, 910, 909, 898, 894, 893, 864, 854, 843, 843, 803, 796, 796, 794, 783, 755, 741, 713, 708, 688, 679, 669, 627, 624, 623, 622, 601, 588, 579, 578, 575, 560, 559, 549, 545, 542, 534, 533, 531, 518, 512, 503, 479, 473, 473, 471, 465, 453, 452, 442, 434, 434, 397, 394, 389, 386, 382, 380, 379, 377, 377, 373, 369, 362, 357, 352, 350, 336, 333, 322, 314, 311, 302, 299, 299, 298, 295, 291, 285, 284, 275, 274, 270, 259, 258, 256, 254, 250, 236, 233, 232, 230, 228, 226, 224, 222, 220, 220, 219, 215, 215, 211, 211, 208, 207, 207, 207, 201, 200, 200, 198, 195, 194, 189, 187, 180, 179, 164, 164, 156, 155, 147, 131, 129, 127, 120, 116, 111, 107, 103, 99, 99, 98, 97, 97, 93, 89, 86, 81, 73, 68, 68, 57, 53, 41, 40, 37, 37, 34, 31, 28, 27, 18, 10, 9]

In [17]:
krange = list(range(len(niviewslst)))
t = np.linspace(0,1, len(krange))

In [18]:
from numpy import *
import math
import matplotlib.pyplot as plt

In [19]:
plt.plot(t,niviewslst,'r', label='Initial Number of views')
plt.legend(loc='upper right')
#plt.ylim(0, 500000)
plt.show()



In [20]:
niviewslstcpy = niviewslst[:]
n2viewslstcpy = n2viewslst[:]
n3viewslstcpy = n3viewslst[:]
n4viewslstcpy = n4viewslst[:]

In [21]:
sumi=0
for i in range(len(niviewslstcpy)):
    temp = niviewslstcpy[i]
    niviewslstcpy[i] = niviewslstcpy[i] + sumi
    sumi += temp

In [22]:
plt.plot(t,niviewslstcpy,'b', label='Initial Number of views')
plt.legend(loc='upper right')
#plt.ylim(0, 500000)
plt.show()



In [23]:
sum2 = 0
for i in range(len(n2viewslstcpy)):
    temp = n2viewslstcpy[i]
    n2viewslstcpy[i] = n2viewslstcpy[i] + sum2
    sum2 += temp

In [24]:
sum2 = 0
for i in range(len(n3viewslstcpy)):
    temp = n3viewslstcpy[i]
    n3viewslstcpy[i] = n3viewslstcpy[i] + sum2
    sum2 += temp

In [25]:
sum3 =0
for i in range(len(n4viewslstcpy)):
    temp = n4viewslstcpy[i]
    n4viewslstcpy[i] = n4viewslstcpy[i] + sum3
    sum3 += temp

In [26]:
plt.plot(t,niviewslstcpy,'k', label='Initial Number of views')
plt.plot(t,n2viewslstcpy,'r', label='Number of views after 2 days')
plt.plot(t,n3viewslstcpy,'g', label='Number of views after 1 week')
plt.plot(t,n4viewslstcpy,'b', label='Number of views after 1 month')
plt.legend(loc='upper right')
#plt.ylim(0, 500000)
plt.show()



In [27]:
#plt.plot(t,niviewslstcpy,'r', label='Initial Number of views')
plt.plot(t,n2viewslstcpy,'r', label='Number of views after 2 days')
#plt.plot(t,n3viewslstcpy,'r', label='Number of views after 1 week')
#plt.plot(t,n4viewslstcpy,'r', label='Number of views after 1 month')
plt.legend(loc='upper right')
#plt.ylim(0, 500000)
plt.show()



In [28]:
print(niviewslstcpy)


[12030, 21560, 29619, 34908, 37193, 38927, 40539, 42074, 43529, 44772, 45974, 47166, 48330, 49492, 50611, 51729, 52842, 53940, 54978, 55962, 56940, 57884, 58820, 59749, 60613, 61475, 62333, 63178, 64017, 64843, 65625, 66351, 67061, 67730, 68325, 68910, 69485, 70059, 70611, 71136, 71657, 72149, 72637, 73121, 73595, 74037, 74478, 74904, 75306, 75698, 76086, 76447, 76804, 77158, 77512, 77860, 78208, 78533, 78832, 79129, 79410, 79691, 79971, 80236, 80498, 80745, 80986, 81225, 81461, 81694, 81913, 82129, 82342, 82555, 82767, 82979, 83190, 83399, 83606, 83812, 84017, 84214, 84403, 84592, 84768, 84941, 85100, 85246, 85391, 85528, 85660, 85787, 85905, 86021, 86137, 86252, 86365, 86476, 86579, 86681, 86783, 86877, 86971, 87062, 87151, 87237, 87323, 87409, 87494, 87578, 87662, 87740, 87818, 87895, 87971, 88045, 88118, 88191, 88263, 88333, 88403, 88470, 88537, 88602, 88666, 88730, 88794, 88857, 88919, 88981, 89041, 89100, 89159, 89217, 89275, 89333, 89391, 89446, 89499, 89552, 89604, 89655, 89706, 89757, 89806, 89854, 89902, 89949, 89994, 90039, 90082, 90125, 90168, 90210, 90250, 90290, 90330, 90370, 90410, 90450, 90490, 90530, 90569, 90607, 90645, 90682, 90719, 90756, 90793, 90827, 90861, 90895, 90928, 90961, 90994, 91027, 91060, 91092, 91124, 91155, 91185, 91215, 91245, 91275, 91305, 91334, 91363, 91392, 91421, 91449, 91477, 91505, 91532, 91559, 91585, 91611, 91637, 91663, 91689, 91714, 91739, 91764, 91788, 91812, 91836, 91860, 91884, 91908, 91932, 91955, 91977, 91998, 92018, 92038, 92058, 92078, 92097, 92116, 92135, 92153, 92171, 92189, 92207, 92225, 92243, 92260, 92277, 92294, 92311, 92328, 92345, 92361, 92377, 92393, 92409, 92425, 92440, 92455, 92469, 92483, 92497, 92511, 92525, 92539, 92552, 92565, 92578, 92590, 92602, 92614, 92626, 92638, 92649, 92660, 92671, 92682, 92693, 92703, 92713, 92723, 92732, 92741, 92750, 92759, 92768, 92776, 92784, 92791, 92798, 92805, 92812, 92819, 92826, 92833, 92840, 92847, 92854, 92861, 92867, 92873, 92879, 92885, 92890, 92895, 92900, 92905, 92910, 92915, 92919, 92923, 92927, 92930, 92933, 92936, 92939, 92942, 92945, 92948, 92950, 92952, 92954, 92956, 92958, 92960, 92962, 92964, 92966, 92968, 92970, 92972, 92973, 92974, 92975, 92976, 92977, 92978, 92979, 92980, 92980, 92980, 92980, 92980, 92980]

In [29]:
print(n2viewslstcpy)


[101091, 167150, 201092, 227051, 253010, 278969, 304103, 325547, 344439, 356088, 365373, 374578, 381283, 387395, 393161, 398817, 404457, 409971, 415446, 420865, 426038, 431116, 435995, 440801, 445578, 450324, 454855, 459332, 463569, 467552, 471450, 475321, 478859, 482170, 485321, 488396, 491415, 494314, 497200, 500024, 502799, 505509, 508171, 510776, 513377, 515855, 518305, 520745, 523122, 525422, 527599, 529699, 531703, 533707, 535599, 537472, 539281, 540956, 542621, 544269, 545847, 547396, 548886, 550375, 551803, 553165, 554510, 555806, 557063, 558267, 559468, 560664, 561860, 563028, 564153, 565218, 566277, 567327, 568374, 569411, 570422, 571425, 572412, 573328, 574242, 575146, 576043, 576939, 577783, 578625, 579462, 580271, 581073, 581858, 582636, 583408, 584175, 584938, 585685, 586427, 587154, 587828, 588473, 589107, 589729, 590313, 590891, 591454, 592015, 592573, 593067, 593552, 594032, 594487, 594929, 595363, 595780, 596194, 596560, 596922, 597276, 597591, 597901, 598205, 598508, 598799, 599084, 599344, 599602, 599853, 600095, 600336, 600568, 600798, 601025, 601249, 601471, 601692, 601908, 602123, 602337, 602550, 602758, 602962, 603164, 603365, 603566, 603764, 603961, 604156, 604348, 604539, 604728, 604917, 605103, 605288, 605471, 605654, 605833, 606011, 606183, 606352, 606516, 606676, 606835, 606992, 607146, 607300, 607453, 607604, 607754, 607903, 608050, 608196, 608342, 608486, 608629, 608770, 608909, 609048, 609185, 609319, 609451, 609574, 609696, 609817, 609934, 610050, 610165, 610280, 610394, 610507, 610620, 610731, 610842, 610950, 611057, 611163, 611268, 611371, 611474, 611577, 611679, 611780, 611881, 611980, 612078, 612174, 612270, 612365, 612458, 612550, 612641, 612732, 612823, 612912, 613001, 613087, 613172, 613256, 613339, 613422, 613502, 613582, 613661, 613739, 613816, 613890, 613964, 614038, 614111, 614183, 614254, 614324, 614394, 614463, 614531, 614599, 614666, 614732, 614798, 614862, 614926, 614986, 615046, 615106, 615165, 615223, 615280, 615337, 615392, 615446, 615499, 615550, 615600, 615649, 615697, 615745, 615792, 615838, 615884, 615929, 615973, 616017, 616060, 616103, 616145, 616187, 616228, 616267, 616305, 616343, 616381, 616419, 616457, 616494, 616530, 616565, 616600, 616634, 616667, 616698, 616727, 616755, 616782, 616809, 616834, 616859, 616882, 616905, 616927, 616949, 616970, 616991, 617011, 617031, 617050, 617069, 617088, 617107, 617126, 617145, 617163, 617181, 617198, 617214, 617229, 617244, 617259, 617274, 617288, 617300, 617311, 617321, 617330, 617339, 617347, 617355, 617362, 617368, 617373, 617376, 617379]

In [30]:
sumi = 0
sumi = sum(niviewslstcpy)
sumi


Out[30]:
27379898

In [31]:
niviewslstcpyf = list()
tsum = 0
for i in range(len(niviewslstcpy)):
    tsum += niviewslstcpy[i]
    temp = float(tsum)/sumi
    niviewslstcpyf.append(temp)
print(niviewslstcpyf)


[0.00043937344105518582, 0.0012268124592721274, 0.00230859150753593, 0.0035835414726526739, 0.0049419468253680127, 0.0063636833124798347, 0.0078442951102301404, 0.0093809699364110124, 0.01097078593937786, 0.012606000212272522, 0.014285115306127145, 0.016007765989486156, 0.017772929614273947, 0.019580533134199406, 0.021429006054003562, 0.023318311850540861, 0.025248267908083516, 0.027218326379448161, 0.029226295875901365, 0.031270204147583018, 0.033349832055619782, 0.035463937813062708, 0.03761222923474733, 0.039794450658654758, 0.042008228080323749, 0.044253488453463191, 0.046530085685490864, 0.04883754497551452, 0.051175647184660805, 0.053543917512037478, 0.055940748939240025, 0.058364096170117216, 0.060813374834340142, 0.063287087482940957, 0.065782531403148395, 0.068299341363506905, 0.070837152132560907, 0.073395927187164825, 0.075974863018116429, 0.078572973500485643, 0.081190112541690257, 0.083825220970509096, 0.086478152694359933, 0.08914876162066053, 0.09183668251795532, 0.094540746645586482, 0.097260917480408438, 0.099996647175237832, 0.1027470591745813, 0.10551178824698325, 0.10829068829986145, 0.11108277320828587, 0.11388789687967428, 0.11670594974458999, 0.11953693180303301, 0.12238062391613, 0.12523702608388096, 0.12810529827393805, 0.1309844908845168, 0.1338745308693261, 0.13677483385803701, 0.13968539985064957, 0.14260619232401817, 0.14553666343095945, 0.1484767036020368, 0.1514257649900668, 0.15438362845617612, 0.15735022095407367, 0.16032543291432277, 0.16330915476748672, 0.16630087518952774, 0.16930048461100913, 0.17230787346249427, 0.17532304174398311, 0.17834595293233013, 0.1813766070275353, 0.18441496750645309, 0.18746096132279236, 0.19051451543026202, 0.19357559330571647, 0.19664415842601021, 0.19971991860597874, 0.20280258166045761, 0.20589214758944682, 0.20898814159205414, 0.21209045409884289, 0.21519857378577525, 0.21831202585195897, 0.22143077377424855, 0.22455452536747947, 0.22768309801592396, 0.23081630910385423, 0.23395382992296027, 0.23709558742695097, 0.24024158161582632, 0.24339177596644079, 0.24654609743250322, 0.24970447296772252, 0.25286661038693425, 0.25603247316699279, 0.25920206130789825, 0.26237508262448606, 0.26555153711675622, 0.26873131521527216, 0.27191434387374269, 0.27510051352273118, 0.27828982416223758, 0.28148227579226193, 0.28467783188965862, 0.28787645593128214, 0.29107814791713249, 0.29428268870833629, 0.2974900783048936, 0.30070028018365885, 0.30391325782148643, 0.30712893817208525, 0.31034728471230971, 0.31356829744215992, 0.31679193983849024, 0.32001813885500963, 0.32324689449171795, 0.32647809717917869, 0.32971174691739175, 0.33294777066006603, 0.33618613188405594, 0.33942683058936157, 0.34266986677598288, 0.34591520392077429, 0.34916280550059026, 0.35241267151543076, 0.35566472891900475, 0.35891894118816658, 0.36217530832291633, 0.36543379380010838, 0.36869439761974276, 0.3719571197818195, 0.37522196028633853, 0.37848880956386322, 0.38175759456810249, 0.38502831529905629, 0.388300935233579, 0.39157541784852523, 0.39485176314389486, 0.3981299711196879, 0.40140996872961321, 0.40469171945052534, 0.40797522328242419, 0.41126044370216425, 0.41454730766345443, 0.41783581516629464, 0.42112589316439381, 0.42441754165775197, 0.42771076064636909, 0.43100551360709966, 0.43430172749365248, 0.43759940230602756, 0.44089853804422502, 0.44419913470824474, 0.44750119229808671, 0.45080471081375101, 0.45410969025523762, 0.45741613062254649, 0.46072399539253212, 0.46403324804204893, 0.46734388857109693, 0.47065588045653056, 0.47396922369834976, 0.47728391829655464, 0.48059996425114515, 0.48391725199268454, 0.48723578152117292, 0.49055555283661029, 0.49387652941585103, 0.49719871125889514, 0.50052209836574268, 0.50384669073639354, 0.50717248837084783, 0.51049945474595992, 0.51382758986172994, 0.51715685719501214, 0.52048722022266114, 0.52381867894467682, 0.52715123336105929, 0.53048488347180844, 0.53381962927692428, 0.53715543425326129, 0.54049229840081947, 0.54383022171959883, 0.54716920420959936, 0.55050920934767544, 0.55385023713382719, 0.5571922875680545, 0.56053532412721185, 0.56387934681129925, 0.56722431909717119, 0.57057024098482767, 0.57391711247426858, 0.57726493356549391, 0.58061370425850378, 0.58396338803015269, 0.5873139848804404, 0.59066549480936703, 0.59401788129378719, 0.59737114433370053, 0.6007252839291074, 0.60408030008000757, 0.60743619278640115, 0.61079296204828815, 0.61415060786566844, 0.61750909371539664, 0.62086838307432701, 0.62422843941931416, 0.62758922622721236, 0.63095074349802183, 0.63431299123174234, 0.63767596942837401, 0.64103964156477133, 0.6444040076409342, 0.64776906765686271, 0.65113478508941125, 0.65450115993857971, 0.65786819220436832, 0.66123588188677695, 0.66460422898580562, 0.66797323350145421, 0.67134285891057743, 0.67471310521317496, 0.67808397240924712, 0.68145546049879369, 0.68482756948181467, 0.68820029935831029, 0.6915736136051347, 0.69494751222228801, 0.69832199520977034, 0.70169706256758146, 0.7050727142957216, 0.70844891387104514, 0.71182566129355196, 0.71520292004009656, 0.71858069011067904, 0.72195897150529931, 0.72533776422395735, 0.72871706826665317, 0.73209688363338676, 0.73547717380101274, 0.73885793876953088, 0.74223917853894128, 0.74562085658609834, 0.74900297291100204, 0.75238552751365251, 0.75576852039404963, 0.7591519515521935, 0.76253578446493853, 0.76592001913228458, 0.76930465555423178, 0.77268969373078011, 0.77607513366192959, 0.77946093882453471, 0.78284710921859535, 0.78623364484411151, 0.7896205091779378, 0.793007702220074, 0.79639522397052032, 0.79978307442927654, 0.80317125359634278, 0.80655972494857353, 0.80994848848596879, 0.81333750768538293, 0.81672678254681597, 0.82011631307026778, 0.8235060992557387, 0.8268961411032284, 0.83028643861273699, 0.83367699178426447, 0.83706780061781094, 0.8404588651133762, 0.84385018527096045, 0.84724176109056359, 0.85063355604904012, 0.85402557014638991, 0.85741780338261309, 0.86081025575770953, 0.86420289074853385, 0.86759570835508593, 0.87098870857736577, 0.87438189141537348, 0.87777525686910884, 0.88116880493857208, 0.88456249910061757, 0.88795633935524521, 0.89135032570245509, 0.89474442161910173, 0.89813862710518499, 0.9015329421607049, 0.90492736678566155, 0.90832190098005483, 0.91171654474388475, 0.9151112980771513, 0.91850612445670909, 0.9219010238825579, 0.92529599635469784, 0.92869104187312901, 0.9320861604378512, 0.93548135204886451, 0.93887661670616884, 0.94227195440976441, 0.94566736515965111, 0.94906284895582882, 0.95245840579829777, 0.95585403568705773, 0.95924970209896321, 0.96264540503401441, 0.96604114449221101, 0.96943692047355323, 0.97283273297804107, 0.97622858200567442, 0.97962446755645327, 0.98302038963037774, 0.98641631170430222, 0.98981223377822669, 0.99320815585215105, 0.99660407792607553, 1.0]

In [32]:
plt.plot(t,niviewslstcpyf,'b', label='Initial Number of views')
plt.legend(loc='upper right')
#plt.ylim(0, 500000)
plt.show()



In [33]:
niviewslstcpyf2 = list()
tsum = 0
length = len(niviewslstcpy)
sumi = length*(length + 1)/float(2)
for i in range(len(niviewslstcpy)):
    tsum += i + 1
    temp = float(tsum)/sumi
    niviewslstcpyf2.append(temp)
print(niviewslstcpyf2)


[1.9110958223445322e-05, 5.733287467033597e-05, 0.00011466574934067194, 0.00019110958223445324, 0.00028666437335167987, 0.0004013301226923518, 0.0005351068302564691, 0.0006879944960440316, 0.0008599931200550396, 0.0010511027022894928, 0.0012613232427473914, 0.0014906547414287351, 0.0017390971983335245, 0.002006650613461759, 0.002293314986813439, 0.002599090318388564, 0.0029239766081871343, 0.0032679738562091504, 0.0036310820624546117, 0.004013301226923518, 0.00441463134961587, 0.004835072430531667, 0.005274624469670909, 0.005733287467033597, 0.00621106142261973, 0.006707946336429308, 0.007223942208462332, 0.007759049038718801, 0.008313266827198715, 0.008886595573902076, 0.00947903527882888, 0.010090585941979131, 0.010721247563352826, 0.011371020142949967, 0.012039903680770554, 0.012727898176814585, 0.013435003631082063, 0.014161220043572984, 0.014906547414287352, 0.015670985743225164, 0.016454535030386422, 0.017257195275771128, 0.018078966479379278, 0.01891984864121087, 0.01977984176126591, 0.020658945839544394, 0.021557160876046325, 0.0224744868707717, 0.023410923823720522, 0.024366471734892786, 0.025341130604288498, 0.026334900431907657, 0.027347781217750257, 0.028379772961816305, 0.029430875664105797, 0.030501089324618737, 0.03159041394335512, 0.032698849520314946, 0.033826396055498226, 0.03497305354890494, 0.03613882200053511, 0.03732370141038872, 0.038527691778465774, 0.03975079310476627, 0.04099300538929022, 0.04225432863203761, 0.043534762833008445, 0.04483430799220273, 0.046152964109620456, 0.04749073118526163, 0.048847609219126245, 0.05022359821121431, 0.05161869816152582, 0.05303290907006077, 0.054466230936819175, 0.05591866376180102, 0.05739020754500631, 0.05888086228643504, 0.06039062798608722, 0.06191950464396285, 0.06346749226006192, 0.06503459083438444, 0.0666208003669304, 0.0682261208576998, 0.06985055230669265, 0.07149409471390895, 0.0731567480793487, 0.07483851240301188, 0.07653938768489853, 0.0782593739250086, 0.07999847112334213, 0.08175667927989909, 0.08353399839467951, 0.08533042846768336, 0.08714596949891068, 0.08898062148836143, 0.09083438443603563, 0.09270725834193326, 0.09459924320605435, 0.09651033902839888, 0.09844054580896686, 0.10038986354775828, 0.10235829224477315, 0.10434583190001147, 0.10635248251347322, 0.10837824408515843, 0.11042311661506708, 0.11248710010319918, 0.11457019454955472, 0.1166723999541337, 0.11879371631693614, 0.12093414363796201, 0.12309368191721133, 0.12527233115468409, 0.12747009135038032, 0.12968696250429995, 0.13192294461644308, 0.1341780376868096, 0.1364522417153996, 0.13874555670221306, 0.14105798264724995, 0.14338951955051027, 0.14574016741199403, 0.14810992623170124, 0.15049879600963192, 0.15290677674578604, 0.15533386844016359, 0.1577800710927646, 0.16024538470358904, 0.16272980927263694, 0.16523334479990825, 0.16775599128540306, 0.1702977487291213, 0.17285861713106296, 0.17543859649122806, 0.17803768680961662, 0.18065588808622865, 0.1832932003210641, 0.185949623514123, 0.18862515766540533, 0.19131980277491115, 0.19403355884264037, 0.19676642586859305, 0.19951840385276917, 0.20228949279516875, 0.20507969269579177, 0.20788900355463824, 0.21071742537170815, 0.2135649581470015, 0.2164316018805183, 0.21931735657225854, 0.2222222222222222, 0.22514619883040934, 0.22808928639681994, 0.23105148492145397, 0.23403279440431143, 0.23703321484539236, 0.24005274624469672, 0.2430913886022245, 0.24614914191797577, 0.24922600619195046, 0.25232198142414863, 0.2554370676145702, 0.25857126476321524, 0.2617245728700837, 0.26489699193517563, 0.268088521958491, 0.2712991629400298, 0.2745289148797921, 0.2777777777777778, 0.28104575163398693, 0.2843328364484195, 0.28763903222107556, 0.29096433895195506, 0.294308756641058, 0.29767228528838435, 0.3010549248939342, 0.30445667545770744, 0.30787753697970416, 0.3113175094599243, 0.3147765928983679, 0.318254787295035, 0.3217520926499255, 0.3252685089630394, 0.3288040362343768, 0.33235867446393763, 0.3359324236517219, 0.3395252837977296, 0.3431372549019608, 0.3467683369644154, 0.35041852998509343, 0.35408783396399496, 0.3577762489011199, 0.3614837747964683, 0.36521041165004015, 0.3689561594618354, 0.37272101823185416, 0.3765049879600963, 0.3803080686465619, 0.384130260291251, 0.3879715628941635, 0.3918319764552995, 0.39571150097465885, 0.3996101364522417, 0.40352788288804803, 0.40746474028207774, 0.41142070863433094, 0.4153957879448075, 0.41938997821350765, 0.42340327944043116, 0.4274356916255781, 0.4314872147689485, 0.4355578488705424, 0.4396475939303597, 0.4437564499484004, 0.44788441692466463, 0.4520314948591522, 0.4561976837518633, 0.46038298360279784, 0.4645873944119558, 0.46881091617933723, 0.4730535489049421, 0.4773152925887704, 0.48159614723082217, 0.48589611283109735, 0.490215189389596, 0.49455337690631807, 0.4989106753812636, 0.5032870848144326, 0.507682605205825, 0.5120972365554409, 0.5165309788632803, 0.520983832129343, 0.5254557963536292, 0.5299468715361388, 0.5344570576768719, 0.5389863547758285, 0.5435347628330085, 0.5481022818484119, 0.5526889118220387, 0.5572946527538891, 0.5619195046439629, 0.56656346749226, 0.5712265412987807, 0.5759087260635248, 0.5806100217864923, 0.5853304284676834, 0.5900699461070978, 0.5948285747047357, 0.5996063142605971, 0.6044031647746818, 0.60921912624699, 0.6140541986775216, 0.6189083820662769, 0.6237816764132553, 0.6286740817184574, 0.6335855979818829, 0.6385162252035317, 0.643465963383404, 0.6484348125214998, 0.653422772617819, 0.6584298436723617, 0.6634560256851278, 0.6685013186561174, 0.6735657225853304, 0.6786492374727668, 0.6837518633184267, 0.6888736001223101, 0.6940144478844169, 0.6991744066047472, 0.7043534762833008, 0.7095516569200779, 0.7147689485150786, 0.7200053510683025, 0.72526086457975, 0.7305354890494209, 0.7358292244773152, 0.7411420708634331, 0.7464740282077743, 0.751825096510339, 0.7571952757711272, 0.7625845659901388, 0.7679929671673738, 0.7734204793028322, 0.7788671023965141, 0.7843328364484196, 0.7898176814585484, 0.7953216374269005, 0.8008447043534763, 0.8063868822382755, 0.811948171081298, 0.817528570882544, 0.8231280816420136, 0.8287467033597065, 0.8343844360356228, 0.8400412796697626, 0.8457172342621259, 0.8514122998127126, 0.8571264763215227, 0.8628597637885563, 0.8686121622138134, 0.8743836715972939, 0.8801742919389978, 0.8859840232389252, 0.8918128654970761, 0.8976608187134503, 0.903527882888048, 0.9094140580208692, 0.9153193441119137, 0.9212437411611818, 0.9271872491686733, 0.9331498681343883, 0.9391315980583267, 0.9451324389404885, 0.9511523907808738, 0.9571914535794824, 0.9632496273363147, 0.9693269120513702, 0.9754233077246494, 0.9815388143561519, 0.9876734319458778, 0.9938271604938271, 1.0]

In [34]:
plt.plot(niviewslstcpyf2,niviewslstcpyf,'b', label='Initial Number of views')
plt.legend(loc='upper right')
#plt.ylim(0, 500000)
plt.show()



In [35]:
plt.plot(t,n4viewslstcpy,'b', label='After 1 month')
plt.plot(t,n3viewslstcpy,'g', label='After 1 week')
plt.plot(t,n2viewslstcpy,'r', label='After 2 days')
plt.plot(t,niviewslstcpy,'k', label='Initially')
#plt.legend(loc='upper right')
plt.xlabel('Normalized video index(ranked by popularity)', fontsize=10)
plt.ylabel('Total Number of views', fontsize=10)
plt.yscale('log')
plt.ylim(0, 10000000)
plt.legend(loc='upper center', bbox_to_anchor=(0.5, 1.15), ncol=1, fancybox=True, shadow=True)
plt.grid(True)



In [36]:
plt.plot(niviewslstcpyf2,niviewslstcpy,'k', label='3rd March')
#plt.legend(loc='upper right')
plt.xlabel('Normalized video index(ranked by popularity)', fontsize=10)
plt.ylabel('Total Number of views', fontsize=10)
plt.yscale('log')
plt.ylim(0, 100000)
plt.legend(loc='upper center', bbox_to_anchor=(0.5, 0.25), ncol=1, fancybox=True, shadow=True)
plt.grid(True)


Feature Scaling


In [37]:
max_, min_ = float(max(niviewslstcpy)), float(min(niviewslstcpy))
niviewslstcpyf3 = [(i - min_)/(max_ - min_) for i in niviewslstcpy]

In [38]:
plt.plot(t,niviewslstcpyf3,'k', label='Initially')
#plt.legend(loc='upper right')
#plt.yscale('log')
#plt.xscale('log')
plt.ylim(0.0, 1.0)
#plt.lim(0.0, 1.0)
plt.legend(loc='upper center', bbox_to_anchor=(0.5, 1.25), ncol=1, fancybox=True, shadow=True)
plt.grid(True)



In [39]:
max_, min_ = float(max(n2viewslstcpy)), float(min(n2viewslstcpy))
n2viewslstcpyf3 = [(i - min_)/(max_ - min_) for i in n2viewslstcpy]

In [40]:
max_, min_ = float(max(n3viewslstcpy)), float(min(n3viewslstcpy))
n3viewslstcpyf3 = [(i - min_)/(max_ - min_) for i in n3viewslstcpy]

In [41]:
max_, min_ = float(max(n4viewslstcpy)), float(min(n4viewslstcpy))
n4viewslstcpyf3 = [(i - min_)/(max_ - min_) for i in n4viewslstcpy]

In [42]:
#https://en.wikipedia.org/wiki/Feature_scaling
plt.plot(t,n4viewslstcpyf3,'b', label='After 1 month')
plt.plot(t,n3viewslstcpyf3,'g', label='After 1 week')
plt.plot(t,n2viewslstcpyf3,'r', label='After 2 days')
plt.plot(t,niviewslstcpyf3,'k', label='Initially')
#plt.legend(loc='upper right')
#plt.yscale('log')
plt.legend(loc='upper center', bbox_to_anchor=(0.5, 1.25), ncol=1, fancybox=True, shadow=True)
plt.grid(True)



In [43]:
nratingslsttemp = [(index,row['n4ratings']) for index, row in dfn4views.iterrows()]
ncommentslsttemp = [(index,row['n4comments']) for index, row in dfn4views.iterrows()]

In [44]:
#print(nratingslsttemp)

In [45]:
nratingslst = [b for a,b in nratingslsttemp]
ncommentslst = [b for a,b in ncommentslsttemp]

In [46]:
plt.plot(t,nratingslst,'b', label='Number of ratings')
#plt.plot(t,ncommentslst,'g', label='Number of comments')
plt.legend(loc='upper right')
plt.xlabel('Normalized video index(ranked by popularity)', fontsize=10)
#plt.ylim(0, 6000)
plt.show()



In [47]:
#plt.plot(t,nratingslst,'b', label='Number of ratings')
plt.plot(t,ncommentslst,'g', label='Number of comments')
plt.legend(loc='upper right')
plt.xlabel('Normalized video index(ranked by popularity)', fontsize=10)
#plt.ylim(0, 6000)
plt.show()



In [55]:
#import matplotlib.transforms as ax
#N = 50
#colors = np.random.rand(N)
#area = np.pi * (15 * np.random.rand(N))**2  # 0 to 15 point radiuses
#import matplotlib.pyplot as plt
#import matplotlib.patches as patches
#fig = plt.figure()
#left, width = .25, .5
#bottom, height = .25, .5
#right = left + width
#top = bottom + height

#p = patches.Rectangle(
#    (left, bottom), width, height,
#    fill=False, transform=ax.transAxes, clip_on=False
#    )
#ax.add_patch(p)
#ax = plt.add_axes([0,0,1,1])
plt.xlim(0, 1000)
plt.ylim(0, 1000)
plt.scatter(nratingslst, ncommentslst)
plt.xlabel('Number of ratings', fontsize=10)
plt.ylabel('Number of comments', fontsize=10)
plt.text(600, 800, 'PearsonCoeff = 0.7407 \nSpearmanCoeff = 0.8118')
#ax.text(0.1, 0.9,'matplotlib', ha='center', va='center',transform = ax.transAxes)
#ax.text(right, top, 'right top',        horizontalalignment='right',        verticalalignment='top',        transform=ax.transAxes)
#ax.set_axis_off()
plt.show()



In [100]:
from scipy.stats.stats import pearsonr
pearsonr(nratingslst, ncommentslst)


Out[100]:
(0.74071615631562238, 2.1154202467010515e-57)

In [101]:
from scipy.stats.stats import spearmanr
spearmanr(nratingslst, ncommentslst)


Out[101]:
SpearmanrResult(correlation=0.81185219699363875, pvalue=5.2966046595522586e-77)

In [1]:
import numpy as np
a = np.arange(1,1001)

In [2]:
p1 = np.random.choice(a,size=100,replace=0)
p2 = np.setdiff1d(a,p1)

In [4]:
#a

In [5]:
p1


Out[5]:
array([113, 321,  41, 655, 241, 902, 651, 216, 565, 431, 183, 772, 638,
       170, 664, 861, 159, 870, 517,  55, 460, 503, 116, 829, 885, 505,
       740, 908, 400, 722, 521, 501, 386, 582,  56, 377, 263, 262, 173,
       430,  24, 954, 878, 759, 856, 802, 124, 688, 912, 574, 775, 202,
        28,   8, 247, 391, 968, 523, 636, 859, 133, 718, 684, 704, 768,
       535, 375, 187, 678, 249, 938, 305, 440, 976, 414, 393, 244, 486,
       331, 403, 701, 423, 666, 946, 937,  85,  33, 407, 901, 801, 490,
       149, 959, 910, 409, 563, 619, 741, 145, 510])

In [7]:
#p2

In [8]:
p1_idx = np.random.randint(0,p1.size,(8000))
p2_idx = np.random.randint(0,p2.size,(2000))

In [9]:
p1_idx


Out[9]:
array([72, 50, 10, ..., 58, 92, 72])

In [10]:
p2_idx


Out[10]:
array([117, 226, 124, ..., 144, 169, 273])

In [11]:
max(p1_idx)


Out[11]:
99

In [12]:
max(p2_idx)


Out[12]:
899

In [13]:
out = np.random.permutation(np.hstack((p1[p1_idx], p2[p2_idx])))

In [14]:
out


Out[14]:
array([840, 457, 688, ..., 381, 876, 901])

In [15]:
len(out)


Out[15]:
10000

In [16]:
lst = list()

In [17]:
lst = list(out)

In [20]:
#lst

In [19]:
max(lst)


Out[19]:
1000

In [ ]: