Osalejate tegevuste analüüs¶

Autor: Nora Anete Müller¶

Eeltöötlus¶

In [1]:
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams["font.family"] = 'serif'
plt.rcParams['font.size'] = 12
import numpy as np
In [2]:
# Logide fail
logs = pd.read_csv('logs.csv')
logs_copy = logs.copy()
In [3]:
# Eemaldatakse nende kasutajate logid, keda ei uurita
logs.drop(logs.index[logs['Kasutaja täisnimi'] == 'Nora Anete Müller'], inplace=True)
logs.drop(logs.index[logs['Kasutaja täisnimi'] == 'Tauno Palts'], inplace=True)
logs.drop(logs.index[logs['Kasutaja täisnimi'] == 'Moodle admin'], inplace=True)
logs.drop(logs.index[logs['Kasutaja täisnimi'] == '-'], inplace=True)
logs.drop(logs.index[logs['Kasutaja täisnimi'] == 'xxx xxx'], inplace=True)
logs.drop(logs.index[logs['Kasutaja täisnimi'] == 'xx xxxx'], inplace=True)
logs.drop(logs.index[logs['Kasutaja täisnimi'] == 'xxx xx'], inplace=True)
In [4]:
# hinne_vs_logid.csv on autori koostatud fail
hin_log = pd.read_csv("Hinded_logid.csv")
In [5]:
# Nimede asendamine logide failis -> nimetäht + m/f
asendamine = {}
for i in logs['Kasutaja täisnimi'].unique():
    nimi = i.split()
    eesnimi = nimi[0]
    perenimi = nimi[1]
    for index, row in hin_log.iterrows():
        if (eesnimi == row['Eesnimi'] and perenimi == row['Perenimi']):
            if (row['Sugu'] == 'f'):
                uusNimi = eesnimi[0] + 'f'
                k = 1
                while uusNimi in asendamine.values() and k < len(eesnimi):
                    uusNimi = eesnimi[k] + 'f'
                    k += 1
                if uusNimi not in asendamine.values():
                    asendamine[i] = uusNimi
                else:
                    k = 1
                    uusNimi = perenimi[0] + 'f'
                    while uusNimi in asendamine.values() and k < len(perenimi):
                        uusNimi = perenimi[k] + 'f'
                        k += 1
                    asendamine[i] = uusNimi
            elif (row['Sugu'] == 'm'):
                uusNimi = eesnimi[0] + 'm'
                k = 1
                while uusNimi in asendamine.values() and k < len(eesnimi):
                    uusNimi = eesnimi[k] + 'm'
                    k += 1
                if uusNimi not in asendamine.values():
                    asendamine[i] = uusNimi
                else:
                    k = 1
                    uusNimi = perenimi[0] + 'm'
                    while uusNimi in asendamine.values() and k < len(perenimi):
                        uusNimi = perenimi[k] + 'm'
                        k += 1
                    asendamine[i] = uusNimi
                    
logs['Kasutaja täisnimi'].replace(asendamine, inplace=True)
In [6]:
# Nimede asendamine failis 'hinned_vs_logid.csv'
hin_log.insert(0, 'Nimi', '')
nimed = []
for index, row in hin_log.iterrows():
    nimi = row['Eesnimi'] + ' ' + row['Perenimi']
    # Kui osaleja on teinud 0 logi
    if nimi not in asendamine:
        kood = '-'
    else:
        kood = asendamine[nimi]
    nimed.append(kood)

hin_log['Nimi'] = nimed
hin_log.drop('Eesnimi', axis=1, inplace=True)
hin_log.drop('Perenimi', axis=1, inplace=True)
In [7]:
# Kuupäeva veeru andmetesse lisamine
logs.insert(1, 'Kuupäev', '')
logs = logs.reset_index(drop=True)

kuupäevad = []
for index, row in logs.iterrows():
    if index == len(logs):
        break
    else:
        kuupäev = row['Aeg'][0:10]
        if kuupäev[-1] == ' ':
            kuupäev = kuupäev.replace(' ','')
            kuupäev = '0' + kuupäev
            row['Aeg'] = '0' + row['Aeg']
        kuupäevad.append(kuupäev)
logs['Kuupäev'] = kuupäevad
In [8]:
def tagastaKp(el):
    return el['Kuupäev']

def sortKp(data):
    
    oktoober = []
    november = []
    detsember = []
    jaanuar = []
    
    # Kuupäevade sort kuu järgi
    for index, row in data.iterrows():
        if (row['Kuupäev'][3:5] == '10'):
            oktoober.append(row)
        elif (row['Kuupäev'][3:5] == '11'):
            november.append(row)
        elif (row['Kuupäev'][3:5] == '12'):
            detsember.append(row)
        elif (row['Kuupäev'][3:5] == '01'):
            jaanuar.append(row)
            
    # Kuupäevade sort päeva järgi
    oktoober = sorted(oktoober, key=lambda x: tagastaKp(x))
    november = sorted(november, key=lambda x: tagastaKp(x))
    detsember = sorted(detsember, key=lambda x: tagastaKp(x))
    jaanuar = sorted(jaanuar, key=lambda x: tagastaKp(x))
    
    values = oktoober + november + detsember + jaanuar
    return values

def newDf(values):
    df = pd.DataFrame(data = values, columns = logs.columns)
    return df
In [9]:
# Logide sort kuupäevade kaupa
newLogs = newDf(sortKp(logs))
In [10]:
# Kellaaja veeru lisamine andmetesse
newLogs.insert(2, 'Kellaaeg', '')

# Lisatakse tunni ja minuti osa kellaajast ehk '09:44:44' tuleb veergu kujul '09:44'
kellaajad = []
for index, row in newLogs.iterrows():
    kellaajad.append(row['Aeg'][11:16])
        
newLogs['Kellaaeg'] = kellaajad
In [11]:
# Nädala veeru andmetesse lisamine
newLogs.insert(3, 'Nädal', '')
nadal1 = ['01.11.2021', '02.11.2021', '03.11.2021', '04.11.2021', '05.11.2021', '06.11.2021', '07.11.2021']
nadal2 = ['08.11.2021', '09.11.2021', '10.11.2021', '11.11.2021', '12.11.2021', '13.11.2021', '14.11.2021']
nadal3 = ['15.11.2021', '16.11.2021', '17.11.2021', '18.11.2021', '18.11.2021', '19.11.2021', '20.11.2021', '21.11.2021']
nadal4 = ['22.11.2021', '23.11.2021', '24.11.2021', '25.11.2021', '26.11.2021', '27.11.2021', '28.11.2021']

nadalad = []
for index, row in newLogs.iterrows():
    if index == len(newLogs):
        break
    else:
        if row['Kuupäev'] in nadal1:
            nadalad.append('1. nädal')
        elif row['Kuupäev'] in nadal2:
            nadalad.append('2. nädal')
        elif row['Kuupäev'] in nadal3:
            nadalad.append('3. nädal')
        elif row['Kuupäev'] in nadal4:
            nadalad.append('4. nädal')
        else:
            nadalad.append('muu')
            
newLogs['Nädal'] = nadalad
In [12]:
# Logide sort kuupäeva ja seejärel kellaaegade järgi
data = pd.DataFrame(columns=newLogs.columns)
kuupaevad = newLogs['Kuupäev'].unique()

for kp in kuupaevad:
    df = newLogs.loc[newLogs['Kuupäev'] == kp]
    df = df.sort_values(by=['Kellaaeg'][0:2]) 
    data = data.append(df)

newLogs = data
In [13]:
kontekst = newLogs['Sündmuse kontekst'].unique()
In [14]:
# Sündmustele uued nimetused, et diagrammid oleksid paremini loetavad
ticks = [
    'Kursuse avaleht',
       'Õpijuhis ja kodukord', 'Tervitus',
       'Thonny paigaldamise juhend',
       'Automaatkontrollist ja murelahendajast',
       'Korduma kippuvad küsimused (KKK)', '1.1 Algoritm',
       '1. nädala foorum', 'Avaküsitlus',
       '1.2 Programm', '1.3 Muutujad',
       '1.4 Andmetüübid',
       'Kontrollülesanne 1.1. Kuldnokk',
       '1. nädala test',
       'Lisaülesanne. Küpsisetort',
       'Lisaülesande vihje: funktsioon ceil',
       'Silmaringi materjal: Kodumasinad',
       'Maalähedane lugu I',
       'Silmaringi materjal: Katkeid programmeerimise ajaloost',
       '2.4 Kilpkonnagraafika ',
       '2.3 Sõned. Sisend ja väljund ',
       '2.1 Valikulause. Sõnede ja arvude võrdlemine',
       '2.2 Veel valikulauseid',
       'Kontrollülesanne 2.1. Valikulause',
       'Kontrollülesanne 2.2. Sõned',
       'Maalähedane lugu II',
       '2. nädala test',
       'Nädalavideo 1. Tervitus ja kursuse tutvustus',
       'Lisaülesanne: Nädalapalk',
       'Lisaülesanne: Eurod ja sendid',
       'Kontrollülesanne 3.1. Tsükkel',
       'Kontrollülesanne 3.2. Regulaaravaldis',
       'Lisaülesanne: Supp',
       'Lisaülesanne: Autonumber',
       'Silmaring. Keeletehnoloogia I ', '3.1 Tsükkel',
       '3.2 Veel tsüklist', '3.3 Regulaaravaldis',
       '3. nädala test',
       'Ressursside nimekiri',
       '2. nädala foorum', 'Maalähedane lugu III',
       'Maalähedane lugu IV', 'Silmaring. Isejuhtiv auto',
       'Nädalavideo 2. Alanud on teine nädal',
       'Kontrollülesande 3.1 lisavihje',
       'Kontrollülesanne 4.1. Funktsioonid',
       '4.1 Funktsioon',
       '4.2 Veel funktsioonidest',
       '4.3 Andmevahetus', '4.4 Suurem programminäide',
       '4. nädala test',
       'Silmaring. Navigeerimine ', 'Silmaring. Ametid',
       '3. nädal. Foorum', 'Maalähedane lugu V',
       'Maalähedane lugu VI', 'Silmaring. Labürint',
       'Silmaring. Keeletehnoloogia II',
       'Lõpuküsitlus',
       'Lisaülesanne: Pere sissetulek 2017',
       'Nädalavideo 3. Kolmas nädal', 'Maalähedane lugu VII',
       'Maalähedane lugu VIII', '4. nädal. Foorum',
       'Nädalavideo 4. Lõpusirge',
       'Ressursside nimekiri',
       'Ressursside nimekiri'
]
In [15]:
kontekst = kontekst.tolist()
for i in kontekst:
    indeks = kontekst.index(i)
    newLogs['Sündmuse kontekst'].replace({i: ticks[indeks]}, inplace=True)
In [16]:
# Sündmuse veeru lisamine andmetesse -> sündmus = kontekst + nimi
newLogs.insert(6, 'Sündmus', '')
newLogs['Sündmus'] = newLogs['Sündmuse kontekst'] + ' -> ' + newLogs['Sündmuse nimi']
In [17]:
es_nädal = ['1.1 Algoritm','1.2 Programm','1.3 Muutujad',
            '1.4 Andmetüübid',
            'Nädalavideo 1. Tervitus ja kursuse tutvustus','1. nädala foorum',
            'Avaküsitlus','1. nädala test',
            'Kontrollülesanne 1.1. Kuldnokk',
            'Lisaülesanne. Küpsisetort',
            'Lisaülesande vihje: funktsioon ceil',
            'Silmaringi materjal: Katkeid programmeerimise ajaloost',
            'Silmaringi materjal: Kodumasinad',
            'Maalähedane lugu I','Maalähedane lugu II',]

te_nädal = ['2.1 Valikulause. Sõnede ja arvude võrdlemine',
    '2.2 Veel valikulauseid',
    '2.3 Sõned. Sisend ja väljund ',
    '2.4 Kilpkonnagraafika ','Nädalavideo 2. Alanud on teine nädal',
           '2. nädala foorum','2. nädala test',
    'Kontrollülesanne 2.1. Valikulause',
    'Kontrollülesanne 2.2. Sõned',
           'Lisaülesanne: Nädalapalk',
    'Lisaülesanne: Eurod ja sendid',
    'Silmaring. Isejuhtiv auto',
    'Silmaring. Keeletehnoloogia I ',
    'Maalähedane lugu III',
    'Maalähedane lugu IV']

ko_nädal = ['3.1 Tsükkel',
    '3.2 Veel tsüklist',
    '3.3 Regulaaravaldis','Nädalavideo 3. Kolmas nädal',
            '3. nädal. Foorum', '3. nädala test',
    'Kontrollülesanne 3.1. Tsükkel',
    'Kontrollülesande 3.1 lisavihje',
    'Kontrollülesanne 3.2. Regulaaravaldis',
            'Lisaülesanne: Supp',
    'Lisaülesanne: Autonumber',
    'Silmaring. Labürint',
    'Silmaring. Keeletehnoloogia II',
    'Maalähedane lugu V',
    'Maalähedane lugu VI']

ne_nädal = [    '4.1 Funktsioon',
    '4.2 Veel funktsioonidest',
    '4.3 Andmevahetus',
    '4.4 Suurem programminäide','Nädalavideo 4. Lõpusirge',
            '4. nädal. Foorum',    '4. nädala test',
    'Kontrollülesanne 4.1. Funktsioonid',
    'Lõpuküsitlus',    'Lisaülesanne: Pere sissetulek 2017',
    'Silmaring. Ametid',
    'Silmaring. Navigeerimine ',
    'Maalähedane lugu VII',
    'Maalähedane lugu VIII']

Osaleja, kes tegi kõige rohkem logisid => Cf¶

In [18]:
print(newLogs['Kasutaja täisnimi'].value_counts().index[0])
print(newLogs['Kasutaja täisnimi'].value_counts()[0])
Cf
803
In [19]:
logs_Cf = newLogs.loc[newLogs['Kasutaja täisnimi'] == 'Cf']

Kuupäev ja sündmuse kontekst (Cf)¶

In [20]:
# esimene nädal -> punane
# teine nädal -> roheline
# kolmas nädal -> sinine
# neljas nädal -> oranž
# muu -> must
In [21]:
logs_Cf = logs_Cf[logs_Cf['Sündmuse kontekst'] != 'Kursuse avaleht']
In [22]:
kp_sundmus = []
for index, row in logs_Cf.iterrows():
    kp_sundmus.append([row['Kuupäev'][:5], row['Sündmuse kontekst']])

colors = []
    
for kp in kp_sundmus:
    if (kp[1] in es_nädal):
        colors.append('red')
    elif (kp[1] in te_nädal):
        colors.append('green')
    elif (kp[1] in ko_nädal):
        colors.append('blue')
    elif (kp[1] in ne_nädal):
        colors.append('orange')
    else:
        colors.append('black')
        
fig = plt.figure(figsize=(8,13))
plt.scatter([i[0] for i in kp_sundmus], [i[1] for i in kp_sundmus], c=colors)

fig.savefig('Diagrammid/Cf_Sündmus_kuupäev.png', format='png', dpi=1200, bbox_inches='tight')

Nädal ja sündmuse kontekst (Cf)¶

In [23]:
nd_sundmus = []
for index, row in logs_Cf.iterrows():
    nd_sundmus.append([row['Nädal'], row['Sündmuse kontekst']])

es = []
te = []
ko = []
ne = []
mu = []
    
for nd in nd_sundmus:
    if (nd[0] == '1. nädal'):
        es.append(nd)
    elif (nd[0] == '2. nädal'):
        te.append(nd)
    elif (nd[0] == '3. nädal'):
        ko.append(nd)
    elif (nd[0] == '4. nädal'):
        ne.append(nd)
    elif (nd[0] == 'muu'):
        mu.append(nd)
        
colors = []
for nd in es:
    if (nd[1] in es_nädal):
        colors.append('red')
    elif (nd[1] in te_nädal):
        colors.append('green')
    elif (nd[1] in ko_nädal):
        colors.append('blue')
    elif (nd[1]in ne_nädal):
        colors.append('orange')
    else:
        colors.append('black')
        
for nd in te:
    if (nd[1] in es_nädal):
        colors.append('red')
    elif (nd[1] in te_nädal):
        colors.append('green')
    elif (nd[1] in ko_nädal):
        colors.append('blue')
    elif (nd[1]in ne_nädal):
        colors.append('orange')
    else:
        colors.append('black')
        
for nd in ko:
    if (nd[1] in es_nädal):
        colors.append('red')
    elif (nd[1] in te_nädal):
        colors.append('green')
    elif (nd[1] in ko_nädal):
        colors.append('blue')
    elif (nd[1]in ne_nädal):
        colors.append('orange')
    else:
        colors.append('black')
        
for nd in ne:
    if (nd[1] in es_nädal):
        colors.append('red')
    elif (nd[1] in te_nädal):
        colors.append('green')
    elif (nd[1] in ko_nädal):
        colors.append('blue')
    elif (nd[1]in ne_nädal):
        colors.append('orange')
    else:
        colors.append('black')
        
for nd in mu:
    if (nd[1] in es_nädal):
        colors.append('red')
    elif (nd[1] in te_nädal):
        colors.append('green')
    elif (nd[1] in ko_nädal):
        colors.append('blue')
    elif (nd[1]in ne_nädal):
        colors.append('orange')
    else:
        colors.append('black')

x = es + te + ko + ne + mu
        
fig = plt.figure(figsize=(6,13))
plt.scatter([i[0] for i in x], [i[1] for i in x], c=colors) 

fig.savefig('Diagrammid/Cf_Sündmus_nädal.png', format='png', dpi=1200, bbox_inches='tight')

Päev, kus Cf tegi kõige rohkem logisid¶

In [24]:
print(logs_Cf['Kuupäev'].value_counts().index[0])
print(logs_Cf['Kuupäev'].value_counts()[0])
02.11.2021
234
In [25]:
kp = logs_Cf['Kuupäev'].value_counts().index[0]
kpCf = logs_Cf.loc[logs_Cf['Kuupäev'] == kp]

Kell ja sündmus/tegevus (Cf)¶

In [26]:
# Eemaldatakse automaatsed hindamised jms
kpCf = kpCf[kpCf['Sündmus'] != 'Kontrollülesanne 1.1. Kuldnokk -> Kursuse tegevuse lõpetamise andmed on värskendatud']
kpCf = kpCf[kpCf['Sündmus'] != 'Kontrollülesanne 1.1. Kuldnokk -> mod_vpl: submission evaluated']
kpCf = kpCf[kpCf['Sündmus'] != '1. nädala test -> Kursuse tegevuse lõpetamise andmed on värskendatud']
In [27]:
tegevus = []
for index, row in kpCf.iterrows():
    tegevus.append([row['Kellaaeg'], row['Sündmus']])
plt.figure(figsize=(10, 8))
plt.scatter([i[0] for i in tegevus], [i[1] for i in tegevus])
plt.xticks(['09:01',
 '09:20',
 '09:28',
 '11:03',
 '11:12',
 '11:22',
 '11:46',
 '11:54',
 '12:09',
 '14:54'
])
plt.savefig('Diagrammid/Cf_02_11.png', format='png', dpi=1200, bbox_inches='tight')

Osaleja, kes tegi kõik ülesanded kiiremini ära => Em¶

In [28]:
logs_Em = newLogs.loc[newLogs['Kasutaja täisnimi'] == 'Em']

Kuupäev ja sündmuse kontekst (Em)¶

In [29]:
logs_Em = logs_Em[logs_Em['Sündmuse kontekst'] != 'Kursuse avaleht']
In [30]:
kp_sundmus = []
for index, row in logs_Em.iterrows():
    kp_sundmus.append([row['Kuupäev'][:5], row['Sündmuse kontekst']])

colors = []
    
for kp in kp_sundmus:
    if (kp[1] in es_nädal):
        colors.append('red')
    elif (kp[1] in te_nädal):
        colors.append('green')
    elif (kp[1] in ko_nädal):
        colors.append('blue')
    elif (kp[1] in ne_nädal):
        colors.append('orange')
    else:
        colors.append('black')
        
fig = plt.figure(figsize=(8,13))
plt.scatter([i[0] for i in kp_sundmus], [i[1] for i in kp_sundmus], c=colors)
fig.savefig('Diagrammid/Em_Sündmus_kuupäev.png', format='png', bbox_inches='tight', dpi=1200)

Nädal ja sündmuse kontekst (Em)¶

In [31]:
nd_sundmus = []
for index, row in logs_Em.iterrows():
    nd_sundmus.append([row['Nädal'], row['Sündmuse kontekst']])

es = []
te = []
ko = []
ne = []
mu = []
    
for nd in nd_sundmus:
    if (nd[0] == '1. nädal'):
        es.append(nd)
    elif (nd[0] == '2. nädal'):
        te.append(nd)
    elif (nd[0] == '3. nädal'):
        ko.append(nd)
    elif (nd[0] == '4. nädal'):
        ne.append(nd)
    elif (nd[0] == 'muu'):
        mu.append(nd)
        
colors = []
for nd in es:
    if (nd[1] in es_nädal):
        colors.append('red')
    elif (nd[1] in te_nädal):
        colors.append('green')
    elif (nd[1] in ko_nädal):
        colors.append('blue')
    elif (nd[1]in ne_nädal):
        colors.append('orange')
    else:
        colors.append('black')
        
for nd in te:
    if (nd[1] in es_nädal):
        colors.append('red')
    elif (nd[1] in te_nädal):
        colors.append('green')
    elif (nd[1] in ko_nädal):
        colors.append('blue')
    elif (nd[1]in ne_nädal):
        colors.append('orange')
    else:
        colors.append('black')
        
for nd in ko:
    if (nd[1] in es_nädal):
        colors.append('red')
    elif (nd[1] in te_nädal):
        colors.append('green')
    elif (nd[1] in ko_nädal):
        colors.append('blue')
    elif (nd[1]in ne_nädal):
        colors.append('orange')
    else:
        colors.append('black')
        
for nd in ne:
    if (nd[1] in es_nädal):
        colors.append('red')
    elif (nd[1] in te_nädal):
        colors.append('green')
    elif (nd[1] in ko_nädal):
        colors.append('blue')
    elif (nd[1]in ne_nädal):
        colors.append('orange')
    else:
        colors.append('black')
        
for nd in mu:
    if (nd[1] in es_nädal):
        colors.append('red')
    elif (nd[1] in te_nädal):
        colors.append('green')
    elif (nd[1] in ko_nädal):
        colors.append('blue')
    elif (nd[1]in ne_nädal):
        colors.append('orange')
    else:
        colors.append('black')

x = es + te + ko + ne + mu
        
fig = plt.figure(figsize=(6,13))
plt.scatter([i[0] for i in x], [i[1] for i in x], c=colors) 
fig.savefig('Diagrammid/Em_Sündmus_nädal.png', format='png', dpi=1200, bbox_inches='tight')

Päev, kus Em tegi kõige rohkem logisid¶

In [32]:
print(logs_Em['Kuupäev'].value_counts().index[0])
print(logs_Em['Kuupäev'].value_counts()[0])
01.11.2021
59
In [33]:
kp = logs_Em['Kuupäev'].value_counts().index[0]
kpEm = logs_Em.loc[logs_Em['Kuupäev'] == kp]

Kell ja sündmus/tegevus (Em)¶

In [34]:
# Eemaldatakse üleliigsed sündmused
kpEm = kpEm[kpEm['Sündmus'] != 'Kontrollülesanne 1.1. Kuldnokk -> Kursuse tegevuse lõpetamise andmed on värskendatud']
kpEm = kpEm[kpEm['Sündmus'] != '1. nädala test -> Kursuse tegevuse lõpetamise andmed on värskendatud']
kpEm = kpEm[kpEm['Sündmus'] != 'Lisaülesanne. Küpsisetort -> mod_vpl: submission evaluated']
kpEm = kpEm[kpEm['Sündmus'] != 'Kontrollülesanne 1.1. Kuldnokk -> mod_vpl: submission evaluated']
In [35]:
tegevus = []
for index, row in kpEm.iterrows():
    tegevus.append([row['Kellaaeg'], row['Sündmus']])

plt.figure(figsize=(10, 10))
plt.scatter([i[0] for i in tegevus], [i[1] for i in tegevus])
plt.xticks(['10:56',
 '10:58',
 '11:01',
 '11:03',
 '11:05',
 '11:07',
 '11:10',
 '11:17',
])
plt.savefig('Diagrammid/Em_01_11.png', format='png', dpi=1200, bbox_inches='tight')

Osaleja, kes tegi ülesandeid hiljem => Am¶

In [36]:
logs_Am = newLogs.loc[newLogs['Kasutaja täisnimi'] == 'Am']

Kuupäev ja sündmuse kontekst (Am)¶

In [37]:
logs_Am = logs_Am[logs_Am['Sündmuse kontekst'] != 'Kursuse avaleht']
In [38]:
kp_sundmus = []
for index, row in logs_Am.iterrows():
    kp_sundmus.append([row['Kuupäev'][:5], row['Sündmuse kontekst']])

colors = []
    
for kp in kp_sundmus:
    if (kp[1] in es_nädal):
        colors.append('red')
    elif (kp[1] in te_nädal):
        colors.append('green')
    elif (kp[1] in ko_nädal):
        colors.append('blue')
    elif (kp[1] in ne_nädal):
        colors.append('orange')
    else:
        colors.append('black')
        
fig = plt.figure(figsize=(8,13))
plt.scatter([i[0] for i in kp_sundmus], [i[1] for i in kp_sundmus], c=colors)
fig.savefig('Diagrammid/Am_Sündmus_kuupäev.png', format='png', dpi=1200, bbox_inches='tight')

Nädal ja sündmuse kontekst (Am)¶

In [39]:
nd_sundmus = []
for index, row in logs_Am.iterrows():
    nd_sundmus.append([row['Nädal'], row['Sündmuse kontekst']])

es = []
te = []
ko = []
ne = []
mu = []
    
for nd in nd_sundmus:
    if (nd[0] == '1. nädal'):
        es.append(nd)
    elif (nd[0] == '2. nädal'):
        te.append(nd) 
    elif (nd[0] == '3. nädal'):
        ko.append(nd)
    elif (nd[0] == '4. nädal'):
        ne.append(nd)
    elif (nd[0] == 'muu'):
        mu.append(nd)
        
colors = []
for nd in es:
    if (nd[1] in es_nädal):
        colors.append('red')
    elif (nd[1] in te_nädal):
        colors.append('green')
    elif (nd[1] in ko_nädal):
        colors.append('blue')
    elif (nd[1]in ne_nädal):
        colors.append('orange')
    else:
        colors.append('black')
        
for nd in te:
    if (nd[1] in es_nädal):
        colors.append('red')
    elif (nd[1] in te_nädal):
        colors.append('green')
    elif (nd[1] in ko_nädal):
        colors.append('blue')
    elif (nd[1]in ne_nädal):
        colors.append('orange')
    else:
        colors.append('black')
        
for nd in ko:
    if (nd[1] in es_nädal):
        colors.append('red')
    elif (nd[1] in te_nädal):
        colors.append('green')
    elif (nd[1] in ko_nädal):
        colors.append('blue')
    elif (nd[1]in ne_nädal):
        colors.append('orange')
    else:
        colors.append('black')
        
for nd in ne:
    if (nd[1] in es_nädal):
        colors.append('red')
    elif (nd[1] in te_nädal):
        colors.append('green')
    elif (nd[1] in ko_nädal):
        colors.append('blue')
    elif (nd[1]in ne_nädal):
        colors.append('orange')
    else:
        colors.append('black')
        
for nd in mu:
    if (nd[1] in es_nädal):
        colors.append('red')
    elif (nd[1] in te_nädal):
        colors.append('green')
    elif (nd[1] in ko_nädal):
        colors.append('blue')
    elif (nd[1]in ne_nädal):
        colors.append('orange')
    else:
        colors.append('black')

x = es + te + ko + ne + mu
        
fig = plt.figure(figsize=(6,12))
plt.scatter([i[0] for i in x], [i[1] for i in x], c=colors) 
fig.savefig('Diagrammid/Am_Sündmus_nädal.png', format='png', dpi=1200, bbox_inches='tight')

Päev, kus Am tegi kõige rohkem logisid¶

In [40]:
print(logs_Am['Kuupäev'].value_counts().index[0])
print(logs_Am['Kuupäev'].value_counts()[0])
26.11.2021
137
In [41]:
kp = logs_Am['Kuupäev'].value_counts().index[0]
kpAm = logs_Am.loc[logs_Am['Kuupäev'] == kp]

Kell ja sündmus/tegevus (Am)¶

In [42]:
# Üleliigsed sündmused
kpAm = kpAm[kpAm['Sündmus'] != 'Kontrollülesanne 4.1. Funktsioonid -> mod_vpl: submission evaluated']
kpAm = kpAm[kpAm['Sündmus'] != 'Kontrollülesanne 3.2. Regulaaravaldis -> mod_vpl: submission evaluated']
kpAm = kpAm[kpAm['Sündmus'] != 'Kontrollülesanne 3.1. Tsükkel -> mod_vpl: submission evaluated']
kpAm = kpAm[kpAm['Sündmus'] != 'Kontrollülesanne 2.2. Sõned -> mod_vpl: submission evaluated']
kpAm = kpAm[kpAm['Sündmus'] != 'Kontrollülesanne 2.1. Valikulause -> mod_vpl: submission evaluated']
kpAm = kpAm[kpAm['Sündmus'] != 'Kontrollülesanne 1.1. Kuldnokk -> Kursuse tegevuse lõpetamise andmed on värskendatud']
kpAm = kpAm[kpAm['Sündmus'] != 'Kontrollülesanne 1.1. Kuldnokk -> mod_vpl: submission evaluated']
In [43]:
tegevus = []
for index, row in kpAm.iterrows():
    tegevus.append([row['Kellaaeg'], row['Sündmus']])

plt.figure(figsize=(13, 15))
plt.scatter([i[0] for i in tegevus], [i[1] for i in tegevus])
plt.xticks([
    '09:26',
 '09:33',
 '09:49',
 '12:56',
 '13:03',
 '13:11',
 '17:31',
 '17:49',
 '19:18',
 '19:40',
 '20:02',
 '20:26',
 '21:23',
 '22:16',
 '22:36'
])
plt.savefig('Diagrammid/Am_26_11.png', format='png', dpi=1200, bbox_inches='tight')