Data Analysis: Developer 101 | UI Design
A Crisp analysis over available data from students registrations and attendees information from GoToMeeting
Developer 101 | UI Design, Data Analysis
The following notebook is an analysis of an online webinar organised by Sathyabama Coding Club
- The data used here is private
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings("ignore")
%matplotlib inline
reg_data = pd.read_excel("Developer 101 _ Session on UI Design (Responses).xlsx")
ui_data = pd.read_excel('Dev101_UI_Desing_GoToMeeting_Data.xlsx')
SESSION_DURATION = ui_data['Time in Session (minutes)'].max()
no_of_regs = reg_data.describe().iloc[0:1, :]
REG_COUNT = int(no_of_regs['Batch'])
no_of_regs
reg_data.Batch.value_counts()
sns.countplot(x="Batch", data=reg_data)
ui_data.head()
ATTENDEES_COUNT = len(ui_data['Name'].value_counts())
ATTENDEES_COUNT
len(ui_data.groupby(by=ui_data.Name, axis=1).sum())
ui_data.groupby(['Name', 'Time in Session (minutes)']).sum().iloc[:,:0]
(ui_data['Time in Session (minutes)'] == ui_data['Time in Session (minutes)'].iloc[0]).all()
def time_agg(group_series):
if (group_series==group_series.iloc[0]).all():
return group_series.iloc[0]
else:
return group_series.sum()
ui_data.groupby('Name', as_index=False).agg(time_agg)[['Name', 'Join Time', 'Leave Time', 'Time in Session (minutes)']]
atten_group_df = ui_data[['Name', 'Time in Session (minutes)', 'Email Address']].groupby('Name', as_index=False).agg(time_agg)
atten_group_df.sort_values(by=['Time in Session (minutes)'],ascending=False, inplace=True)
sns.factorplot(x="Name", y="Time in Session (minutes)",
data=atten_group_df, kind="bar",
size = 15, aspect=2,
palette = "muted")
for value in plot:
height = value.get_height()
plt.text(value.get_x() + value.get_width()/2.,
1.002*height,'%d' % int(height), ha='center', va='bottom')
plt.xticks(rotation=45);
Individual time spent analysis of attendes
sns.factorplot(x="Name", y="Time in Session (minutes)",
data=atten_group_df[atten_group_df["Time in Session (minutes)"] >= SESSION_DURATION//2],
kind="bar",
size = 4, aspect=2,
palette = "muted")
plt.xticks(rotation=45);
atten_group_df[atten_group_df["Time in Session (minutes)"] >= SESSION_DURATION//2][['Name', 'Time in Session (minutes)']].set_index('Name')
len(atten_group_df[atten_group_df["Time in Session (minutes)"] >= SESSION_DURATION//2].set_index('Name')['Time in Session (minutes)'])
len(atten_group_df[atten_group_df['Email Address'] == 0])
Number of attendes joined with out Email Address: 19
len(atten_group_df['Email Address']) - len(atten_group_df[atten_group_df['Email Address'] == 0])
Number of attendes joined with Email Address: 20
registerd_attendes_ratio = (ATTENDEES_COUNT/REG_COUNT) * 100
print("Percentage of Students registered and attended the session {}".format(registerd_attendes_ratio))
Registration Data Analysis
- Name of the Event: Developer 101 | Session on UI Design
- No of registrations: 99
- Registration Count with Batch filter
- 2021 : 83
- 2022 : 9
- 2023 : 7
Webinar Attendes Data Analysis
- No of Attendees: 39
- No of students spent more than half in the session: 14
- Number of attendes joined with out Email Address: 19
- Number of attendes joined with Email Address: 20
- Percentage of Students registered and attended the session 39.39393939393939
- Students spent more than 55 minutes in the session
- Teja Kummarikuntla - Akash M - HAMID HUSSAIN - Sushma Ephrin - Dewashish Kumar - Abhiram - Alok Kumar - Naidu Tk - Ved Pandya - AJ - You Know Who I am - Avinash - Aditya