From cc014614b7400bb328b281f53640c4eb3cd0d8ce Mon Sep 17 00:00:00 2001 From: Kynhoff Date: Mon, 18 Aug 2025 10:54:40 -0400 Subject: [PATCH 1/4] learning branches --- ... 17_45 wrt-nsga-feo Attendance Report.xlsx | Bin 0 -> 8914 bytes ... 17_50 kan-ptwt-ehz Attendance Report.xlsx | Bin 0 -> 5704 bytes data/AI Jan 25.csv | 43 + data/Attendance_Template_v3.xlsx | Bin 0 -> 111241 bytes data/Data Jan 25.csv | 60 + data/Data May 25.csv | 63 + data/DataJan25_wrt-nsga-feo_07292025.csv | 17 + data/Debug Log.csv | 17 + data/IT May 25.csv | 20 + data/MeetCodes.csv | 10 + data/Mentor Log.csv | 54 + data/Mentors.csv | 37 + data/Meta.csv | 10 + data/Not Found Log.csv | 56 + data/Processed Files Log.csv | 40 + data/Speaker Log.csv | 229 ++++ data/Staff Log.csv | 33 + data/Staff.csv | 18 + data/Students.csv | 31 + data/Summary.csv | 282 +++++ data/Template Notes.csv | 17 + data/Web Jan 25.csv | 55 + data/Web May 25.csv | 49 + data/WebJan25_kan-ptwt-ehz_07302025.csv | 15 + src/notebook/notebook_rk.ipynb | 1127 +++++++++++++++++ 25 files changed, 2283 insertions(+) create mode 100644 data/2025-07-29 17_45 wrt-nsga-feo Attendance Report.xlsx create mode 100644 data/2025-07-30 17_50 kan-ptwt-ehz Attendance Report.xlsx create mode 100644 data/AI Jan 25.csv create mode 100644 data/Attendance_Template_v3.xlsx create mode 100644 data/Data Jan 25.csv create mode 100644 data/Data May 25.csv create mode 100644 data/DataJan25_wrt-nsga-feo_07292025.csv create mode 100644 data/Debug Log.csv create mode 100644 data/IT May 25.csv create mode 100644 data/MeetCodes.csv create mode 100644 data/Mentor Log.csv create mode 100644 data/Mentors.csv create mode 100644 data/Meta.csv create mode 100644 data/Not Found Log.csv create mode 100644 data/Processed Files Log.csv create mode 100644 data/Speaker Log.csv create mode 100644 data/Staff Log.csv create mode 100644 data/Staff.csv create mode 100644 data/Students.csv create mode 100644 data/Summary.csv create mode 100644 data/Template Notes.csv create mode 100644 data/Web Jan 25.csv create mode 100644 data/Web May 25.csv create mode 100644 data/WebJan25_kan-ptwt-ehz_07302025.csv create mode 100644 src/notebook/notebook_rk.ipynb diff --git a/data/2025-07-29 17_45 wrt-nsga-feo Attendance Report.xlsx b/data/2025-07-29 17_45 wrt-nsga-feo Attendance Report.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..2818c10ff25d0551f86caa331238e437e0f7f101 GIT binary patch literal 8914 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 literal 0 HcmV?d00001 diff --git a/data/2025-07-30 17_50 kan-ptwt-ehz Attendance Report.xlsx b/data/2025-07-30 17_50 kan-ptwt-ehz Attendance Report.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..a0e360d3ec9cda4dee740ea385eabf96b4076ac5 GIT binary patch literal 5704 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 literal 0 HcmV?d00001 diff --git a/data/AI Jan 25.csv b/data/AI Jan 25.csv new file mode 100644 index 0000000..1d6fec7 --- /dev/null +++ b/data/AI Jan 25.csv @@ -0,0 +1,43 @@ +First Name,Last Name,Alternate Name,Class Name,Week of 06/09,Total Minutes,Week of 06/16,Week of 06/23,Week of 06/30,Week of 07/07,Week of 07/14,Week of 07/21 +Abdelrazak,Hindy,,AI Jan 25,✔️,235.0,,,,,✔️,✔️ +Alex,Laliberty,Alex laliberty,AI Jan 25,✔️,375.0,,✔️,,✔️,, +Brandi,Ross,,AI Jan 25,✔️,571.0,,✔️,,✔️,✔️,✔️ +Brandon,Thompson,Brandon,AI Jan 25,✔️,521.0,,✔️,,✔️,✔️,✔️ +Brent,Rainwater,,AI Jan 25,✔️,627.0,,✔️,,✔️,✔️,✔️ +Brian,Luerman,,AI Jan 25,✔️,439.0,,,✔️,✔️,✔️,✔️ +Carlos,Stanton,,AI Jan 25,✔️,690.0,✔️,✔️,✔️,✔️,✔️,✔️ +Cecelia ,Russell ,,AI Jan 25,✔️,437.0,✔️,✔️,,✔️,, +Corey,Gilbert,,AI Jan 25,,,,,,,, +Dale,Murphy,,AI Jan 25,,461.0,,✔️,✔️,✔️,✔️,✔️ +David,Cruse,,AI Jan 25,✔️,513.0,✔️,✔️,,✔️,✔️,✔️ +Elle,Adelman,,AI Jan 25,✔️,286.0,,✔️,,✔️,, +Ibrahim,Abouzeid,,AI Jan 25,✔️,1230.0,,✔️,✔️,✔️,✔️,✔️ +Jamila,Arabat,,AI Jan 25,✔️,485.0,,✔️,,✔️,✔️,✔️ +Jessica,Long,,AI Jan 25,✔️,502.0,,✔️,,✔️,✔️, +Jim,Sears,,AI Jan 25,✔️,474.0,✔️,✔️,,✔️,✔️,✔️ +Joaritza,Noriega,joaritza n,AI Jan 25,✔️,626.0,✔️,✔️,✔️,✔️,✔️,✔️ +Josh,Roehrig,,AI Jan 25,✔️,334.0,✔️,,,,,✔️ +Keidrick,Henton,,AI Jan 25,,357.0,,✔️,,,✔️,✔️ +Meagan,Smith,,AI Jan 25,,205.0,,,✔️,,✔️, +Molli ,Peace ,,AI Jan 25,,,,,,,, +Nicholas,Cruse,,AI Jan 25,✔️,565.0,,✔️,,✔️,✔️,✔️ +Noah,Moran,,AI Jan 25,✔️,97.0,,✔️,,,, +Peter,Niehaus,,AI Jan 25,✔️,492.0,,✔️,,✔️,✔️,✔️ +Phoenix,Berry,Phoenix B,AI Jan 25,✔️,230.0,,✔️,,✔️,✔️, +Ricky,Thomas,,AI Jan 25,✔️,465.0,,✔️,,,✔️,✔️ +Ryan,Alvey,,AI Jan 25,✔️,426.0,,✔️,✔️,✔️,, +Surendra,Nepali,,AI Jan 25,✔️,504.0,,✔️,,✔️,✔️,✔️ +Tim,Moore,,AI Jan 25,✔️,471.0,,✔️,,✔️,✔️,✔️ +Travis,Owens,,AI Jan 25,✔️,471.0,,✔️,,✔️,✔️, +Verdie,Craig,,AI Jan 25,✔️,576.0,,✔️,,✔️,✔️,✔️ +Willy,Jones,,AI Jan 25,✔️,101.0,,,,,, +Yazmin,Martinez Torres,,AI Jan 25,,,,,,,, +,,,,,,,,,,, +,,,,,,,,,,, +,,,,,,,,,,, +Alex,Lamb,,AI Jan 25,,,,,,,, +Carl,Brown,,AI Jan 25,,,,,,,, +Derek,Hardin,,AI Jan 25,,,,,,,, +Michael,Hall,,AI Jan 25,,,,,,,, +Barbara,Adkins,,AI Jan 25,,,,,,,, +William,Woodrum,,AI Jan 25,,,,,,,, diff --git a/data/Attendance_Template_v3.xlsx b/data/Attendance_Template_v3.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..9186be1551b96f4834f46faab932f8d46435a744 GIT binary patch literal 111241 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%0Dx7B3OeKLZ3Od8mS{htQ5%NKl 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

Ug6Vs}3w@Y98*72P4;fWp!Lk z3`qu-=zVf!YY!R&l$@guI)w)y^xNlkPIXL;uc!_p==;90-ib!2RxBGs{Vazgm%cVq L86DR^hqdEhmp^-z literal 0 HcmV?d00001 diff --git a/data/Data Jan 25.csv b/data/Data Jan 25.csv new file mode 100644 index 0000000..0e98667 --- /dev/null +++ b/data/Data Jan 25.csv @@ -0,0 +1,60 @@ +First Name,Last Name,Alternate Name,Class Name,Week of 07/14,Total Minutes,Week of 07/21 +Adrian,Conyers,Edrein,Data Jan 25,✔️,71.0,✔️ +Amanda,Willette,,Data Jan 25,✔️,126.0,✔️ +Amy,Daniel ,,Data Jan 25,,, +Amy,Kerdolff,,Data Jan 25,,62.0,✔️ +Anamaria,Albuquerque,,Data Jan 25,✔️,69.0,✔️ +Andrew,Auxier,,Data Jan 25,✔️,79.0,✔️ +Angel ,Thompson ,,Data Jan 25,,, +Angela,Kim,,Data Jan 25,,57.0,✔️ +Angela,Moore,,Data Jan 25,✔️,130.0,✔️ +Asaad,Alabdulaziz,Asaad Manna,Data Jan 25,,, +Ashley,Skidmore,,Data Jan 25,,68.0,✔️ +Brandon,Hines,,Data Jan 25,✔️,71.0,✔️ +Charles,Norman,,Data Jan 25,✔️,140.0,✔️ +Chris,Elliott,,Data Jan 25,,53.0,✔️ +Cindy,Wedding,,Data Jan 25,,, +Collin,Farmer,,Data Jan 25,✔️,67.0,✔️ +David,Buday,,Data Jan 25,✔️,74.0,✔️ +David,Samuelson,,Data Jan 25,,59.0,✔️ +Diana,Zamora,,Data Jan 25,,, +Eric,Schildmeyer,,Data Jan 25,✔️,70.0,✔️ +Evan,Bush,,Data Jan 25,,61.0,✔️ +Hope,Curtis,,Data Jan 25,,, +Hunter,Rings,,Data Jan 25,,, +Jennifer,Pointer,,Data Jan 25,,64.0,✔️ +Joel,Anderson,,Data Jan 25,,148.0,✔️ +Jon,Chadwell,,Data Jan 25,,, +Jud,Singleton,,Data Jan 25,,67.0,✔️ +Keshia,Hines,,Data Jan 25,,23.0,✔️ +Kristen,Crowe,,Data Jan 25,,49.0,✔️ +Leonardo,Abreu,,Data Jan 25,,1.0,✔️ +Lisa,Smith,,Data Jan 25,✔️,69.0,✔️ +Lucy,Collins,,Data Jan 25,,67.0,✔️ +Matthew,Sabin,,Data Jan 25,✔️,4.0, +Matt ,Simone,,Data Jan 25,,66.0,✔️ +Mendell,Taylor,,Data Jan 25,,, +Michael,Sliger,,Data Jan 25,✔️,4.0, +Morgan,Lane,,Data Jan 25,,66.0,✔️ +Nathan,Byrd,,Data Jan 25,,, +Nick,Camic,,Data Jan 25,,61.0,✔️ +Nolan,Greene,,Data Jan 25,,, +Olga,Ivanova,,Data Jan 25,,, +el-aktif ,Oulaya,oulaya el-aktif,Data Jan 25,✔️,68.0,✔️ +Peggy,Nienaber,,Data Jan 25,,, +Rebecca,Bodkin,,Data Jan 25,,29.0,✔️ +Sahiladevi,Deenadayalu,,Data Jan 25,,65.0,✔️ +Selim,Celik,,Data Jan 25,,, +Sarah,Hill,Mullins,Data Jan 25,,, +Saranyadevi ,Muthulingam,,Data Jan 25,,21.0,✔️ +Sean,Byrnes,,Data Jan 25,,, +Sheila,Oaks,,Data Jan 25,,, +Tabarak,Azawi,,Data Jan 25,,, +Tara,Hylton,Leigh,Data Jan 25,,, +Taylynne,Britton,,Data Jan 25,,65.0,✔️ +Tej,Pandey,,Data Jan 25,,115.0,✔️ +Trinity,Love,,Data Jan 25,,72.0,✔️ +Mwamba,Ilunga,victoire mwamba,Data Jan 25,✔️,72.0,✔️ +Whitney,Parks,,Data Jan 25,✔️,123.0,✔️ +Zachary,Young,,Data Jan 25,,124.0,✔️ +Zhenzhen,Xie,,Data Jan 25,✔️,124.0,✔️ diff --git a/data/Data May 25.csv b/data/Data May 25.csv new file mode 100644 index 0000000..d827946 --- /dev/null +++ b/data/Data May 25.csv @@ -0,0 +1,63 @@ +First Name,Last Name,Alternate Name,Class Name,Week of 07/14,Total Minutes,Week of 07/21 +Alex,Fife,,Data May 25,✔️,243.0,✔️ +Alex,Lamb,,Data May 25,,, +Alex,Miramontes,,Data May 25,✔️,242.0,✔️ +Alieshia,Nunnally,,Data May 25,✔️,238.0,✔️ +Amy,Amos,,Data May 25,✔️,257.0,✔️ +Angela,Berry,,Data May 25,✔️,249.0,✔️ +Ava,Porter,,Data May 25,✔️,224.0,✔️ +Benjamin,Trieu,,Data May 25,✔️,248.0,✔️ +Braxton,Burke,,Data May 25,✔️,219.0,✔️ +Brittiny,Roberts,,Data May 25,✔️,264.0,✔️ +Carson,Pike,,Data May 25,,, +Curtis,Schneider,,Data May 25,✔️,254.0,✔️ +David,Anderson,,Data May 25,,, +David,English,,Data May 25,✔️,215.0,✔️ +Davonta,Garnett,Davonta G,Data May 25,✔️,244.0,✔️ +Eliot,Blair,,Data May 25,✔️,244.0,✔️ +Elizabeth,Damron,,Data May 25,✔️,235.0,✔️ +Angela,Duke,,Data May 25,,, +Franklin,Sotolongo,,Data May 25,,, +Glodi,Mbongo,,Data May 25,✔️,150.0,✔️ +Jackie,Morrison,,Data May 25,,, +Janeth,Blevins,,Data May 25,✔️,250.0,✔️ +Jeremy,Brown,,Data May 25,✔️,143.0, +Jerod ,Childs ,,Data May 25,✔️,254.0,✔️ +Jocara,Beattie,,Data May 25,,, +Joenathan,Smith,,Data May 25,✔️,241.0,✔️ +Jonah,Nicholson,,Data May 25,✔️,248.0,✔️ +Jessica,Long,,Data May 25,,123.0,✔️ +Julie,Gambill,,Data May 25,✔️,245.0,✔️ +Justin,Masters,,Data May 25,✔️,251.0,✔️ +Kaitlyn,Goins,,Data May 25,✔️,247.0,✔️ +Katheryn,Thompson,,Data May 25,✔️,241.0,✔️ +Katrinia,Reppen,,Data May 25,✔️,248.0,✔️ +Kelsey,Schneider ,,Data May 25,✔️,249.0,✔️ +Kyle,Coleman,,Data May 25,✔️,257.0,✔️ +Lauren,Sapp,,Data May 25,✔️,256.0,✔️ +Leah ,Hopkins,,Data May 25,,, +Mack,Murphy,,Data May 25,,, +Megan,Scott,,Data May 25,✔️,241.0,✔️ +Megan,Shoemaker,,Data May 25,,, +Miguel,Paredes,,Data May 25,✔️,246.0,✔️ +Molly,Lott,,Data May 25,,, +Nancy,Shaar,,Data May 25,✔️,139.0, +Nayalys ,Santiesteban,,Data May 25,✔️,229.0,✔️ +Penelope,Brisson,,Data May 25,✔️,126.0, +Rayna ,Shake,,Data May 25,✔️,247.0,✔️ +Rebecca,Halpryn,Rebecca H,Data May 25,✔️,175.0,✔️ +Rebecca,Rader,,Data May 25,✔️,241.0,✔️ +Robert,Yann,,Data May 25,,119.0,✔️ +Ryan,Mullins,,Data May 25,,, +Ryan,Tackett,,Data May 25,✔️,260.0,✔️ +Sarah,Phillips,,Data May 25,,, +Sean,Cross,,Data May 25,✔️,245.0,✔️ +Shaheena,B,,Data May 25,,, +Steven,Fife,,Data May 25,✔️,247.0,✔️ +Steven,Held,,Data May 25,,, +Taylor,Tackett,,Data May 25,✔️,139.0, +Tiffanie,White,,Data May 25,✔️,217.0,✔️ +Tomeka,Johnson,,Data May 25,,, +Tyler,Ballard,,Data May 25,✔️,270.0,✔️ +William,Joiner,,Data May 25,✔️,229.0,✔️ +Tony,High,,Data May 25,✔️,257.0,✔️ diff --git a/data/DataJan25_wrt-nsga-feo_07292025.csv b/data/DataJan25_wrt-nsga-feo_07292025.csv new file mode 100644 index 0000000..8a3c15f --- /dev/null +++ b/data/DataJan25_wrt-nsga-feo_07292025.csv @@ -0,0 +1,17 @@ +First name,Last name,Email,Duration,Time joined,Time exited +Alex,D,awda*****@***.com,2 hr 25 min,6:01 PM,8:26 PM +Angela,Moore,ange*************@***.com,2 hr 29 min,5:59 PM,8:27 PM +Bill,Montgomery,kyho***@***.com,2 hr 27 min,5:59 PM,8:26 PM +Charles,Norman,ario****@***.com,2 hr 42 min,5:45 PM,8:27 PM +Christina,Porter,chri**************@***.com,2 hr 4 min,6:15 PM,8:19 PM +Cindy,Wedding,cwed*******@***.com,2 hr 22 min,6:03 PM,8:25 PM +Classroom,Admin,classroom@codeyou.org,1 min,5:59 PM,6:00 PM +Joel,Anderson,joel*************@***.com,2 hr 27 min,6:00 PM,8:27 PM +Jonathan,Chadwell,jona*******************@***.com,2 hr 24 min,6:02 PM,8:26 PM +Mendell,M,menm****@***.com,1 hr 58 min,6:00 PM,8:00 PM +Oli,Ivanova,olga************@***.com,2 hr 14 min,5:59 PM,8:13 PM +S.,Byrnes,smby***@***.com,1 hr 58 min,6:02 PM,8:00 PM +Tara Leigh,Hylton,turr******@***.com,2 hr 5 min,6:01 PM,8:06 PM +Whitney,Parks,wypa*****@***.com,2 hr 38 min,6:01 PM,8:39 PM +Zachary,Young,zach*************@***.com,2 hr 6 min,5:54 PM,8:00 PM +Zhenzhen,Xie,xzz.**********@***.com,2 hr 24 min,6:01 PM,8:26 PM diff --git a/data/Debug Log.csv b/data/Debug Log.csv new file mode 100644 index 0000000..6634c01 --- /dev/null +++ b/data/Debug Log.csv @@ -0,0 +1,17 @@ +Timestamp,Folder,Reason,Class,Meet Code,Session Date +2025-07-24 17:14:20.902,2025-07-01 18:15 kan-ptwt-ehz,Session before class start,Web Jan 25,kan-ptwt-ehz,2025-07-01 +2025-07-24 17:18:20.413,2025-07-08 09:29 wrt-nsga-feo,Session before class start,Data Jan 25,wrt-nsga-feo,2025-07-08 +2025-07-24 17:19:53.611,2025-07-08 19:29 xyk-dtsj-kpz,Session before class start,Intro May 25,xyk-dtsj-kpz,2025-07-08 +2025-07-24 17:28:13.598,2025-07-15 17:20 hhn-uwtt-vsa,Class sheet not found,Mentor,hhn-uwtt-vsa,2025-07-15 +2025-07-24 17:44:13.817,2025-07-16 17:25 hhn-uwtt-vsa,Class sheet not found,Mentor,hhn-uwtt-vsa,2025-07-16 +2025-07-24 18:05:10.245,2025-07-17 17:23 hhn-uwtt-vsa,Class sheet not found,Mentor,hhn-uwtt-vsa,2025-07-17 +2025-07-24 18:21:54.698,2025-07-22 17:27 hhn-uwtt-vsa,Class sheet not found,Mentor,hhn-uwtt-vsa,2025-07-22 +2025-07-24 18:40:40.587,2025-07-23 17:23 hhn-uwtt-vsa,Class sheet not found,Mentor,hhn-uwtt-vsa,2025-07-23 +2025-07-24 18:57:00.110,2025-07-24 17:28 hhn-uwtt-vsa,Class sheet not found,Mentor,hhn-uwtt-vsa,2025-07-24 +2025-07-24 19:16:11.854,2025-07-08 19:29 xyk-dtsj-kpz,Session before class start,Intro May 25,xyk-dtsj-kpz,2025-07-08 +2025-07-24 19:21:03.956,2025-07-15 17:20 hhn-uwtt-vsa,Class sheet not found,Mentor,hhn-uwtt-vsa,2025-07-15 +2025-07-24 19:22:19.809,2025-07-16 17:25 hhn-uwtt-vsa,Class sheet not found,Mentor,hhn-uwtt-vsa,2025-07-16 +2025-07-24 19:24:14.515,2025-07-17 17:23 hhn-uwtt-vsa,Class sheet not found,Mentor,hhn-uwtt-vsa,2025-07-17 +2025-07-24 19:27:47.810,2025-07-22 17:27 hhn-uwtt-vsa,Class sheet not found,Mentor,hhn-uwtt-vsa,2025-07-22 +2025-07-24 19:30:07.624,2025-07-23 17:23 hhn-uwtt-vsa,Class sheet not found,Mentor,hhn-uwtt-vsa,2025-07-23 +2025-07-24 19:32:14.301,2025-07-24 17:28 hhn-uwtt-vsa,Class sheet not found,Mentor,hhn-uwtt-vsa,2025-07-24 diff --git a/data/IT May 25.csv b/data/IT May 25.csv new file mode 100644 index 0000000..5870d91 --- /dev/null +++ b/data/IT May 25.csv @@ -0,0 +1,20 @@ +First Name,Last Name,Alternate Name,Class Name,Week of 07/14,Total Minutes,Week of 07/21 +Annette,Hines,,IT May 25,✔️,211.0,✔️ +Ashlee,Foust,,IT May 25,✔️,215.0,✔️ +Billy,Carrico,,IT May 25,✔️,219.0,✔️ +Craig ,Phillips,,IT May 25,✔️,208.0,✔️ +Jasin,Johnson,,IT May 25,✔️,202.0,✔️ +Jeremy,Brown,,IT May 25,,127.0,✔️ +Jermar,Mack,,IT May 25,✔️,215.0,✔️ +Jess,Buckner,,IT May 25,✔️,215.0,✔️ +Jewel,W,Jewel White,IT May 25,,111.0,✔️ +Joe ,Howard,,IT May 25,✔️,205.0,✔️ +Jose,Portillo-Vasquez,,IT May 25,✔️,223.0,✔️ +Joshua,Collins,,IT May 25,✔️,172.0,✔️ +Justin ,Howard,,IT May 25,✔️,230.0,✔️ +Ken,Colling,,IT May 25,✔️,223.0,✔️ +Marty,Robbins,,IT May 25,✔️,207.0,✔️ +Melissa,Lowe,,IT May 25,✔️,222.0,✔️ +Onechay,Sorasin,One Whitehead,IT May 25,✔️,220.0,✔️ +Ricky,Howard,,IT May 25,,, +Sarah,Hatfield,,IT May 25,✔️,217.0,✔️ diff --git a/data/MeetCodes.csv b/data/MeetCodes.csv new file mode 100644 index 0000000..19cc673 --- /dev/null +++ b/data/MeetCodes.csv @@ -0,0 +1,10 @@ +Meet Code,Class Name,Cohort,Start Date +xyk-dtsj-kpz,Intro May 25,2025-05-25,2025-07-14 +wrt-nsga-feo,Data Jan 25,2025-01-25,2025-07-14 +kan-ptwt-ehz,Web Jan 25,2025-01-25,2025-07-14 +ecg-nndy-umh,AI Jan 25,2025-01-25,2025-06-09 +hhn-uwtt-vsa,Mentor,,2025-07-01 +rna-gvmc-zds,Monday Night Speaker,,2025-07-01 +gfq-aghr-gbi,Web May 25,2025-05-25,2025-07-14 +rit-sszz-pbh,Data May 25,2025-05-25,2025-07-14 +jnt-wxek-pqh,IT May 25,2025-05-25,2025-07-14 diff --git a/data/Mentor Log.csv b/data/Mentor Log.csv new file mode 100644 index 0000000..586282b --- /dev/null +++ b/data/Mentor Log.csv @@ -0,0 +1,54 @@ +Date,First Name,Last Name,Class,Session Date,Duration (min) +2025-07-24 17:05:49.049,Rama,Kattunga,AI Jan 25,2025-06-12,100 +2025-07-24 17:05:51.405,Chris,Metcalfe,AI Jan 25,2025-06-12,104 +2025-07-24 17:05:57.410,Christina,Porter,AI Jan 25,2025-06-12,102 +2025-07-24 17:08:25.892,Rama,Kattunga,AI Jan 25,2025-06-19,5 +2025-07-24 17:08:26.385,Chris,Metcalfe,AI Jan 25,2025-06-19,27 +2025-07-24 17:08:29.210,Christina,Porter,AI Jan 25,2025-06-19,130 +2025-07-24 17:11:02.099,Chris,Metcalfe,AI Jan 25,2025-06-26,151 +2025-07-24 17:11:42.564,Rama,Kattunga,AI Jan 25,2025-06-26,152 +2025-07-24 17:15:52.506,Rama,Kattunga,AI Jan 25,2025-07-03,92 +2025-07-24 17:21:40.743,Rama,Kattunga,AI Jan 25,2025-07-10,127 +2025-07-24 17:21:44.323,Chris,Metcalfe,AI Jan 25,2025-07-10,131 +2025-07-24 17:21:49.664,Christina,Porter,AI Jan 25,2025-07-10,128 +2025-07-24 17:36:38.477,Justin,Schuhmann,Web May 25,2025-07-15,127 +2025-07-24 17:36:39.950,Lawrence,Caudle,Web May 25,2025-07-15,129 +2025-07-24 17:40:29.758,Barbara,Adkins,Data May 25,2025-07-15,145 +2025-07-24 17:40:41.580,Matt,Harvey,Data May 25,2025-07-15,140 +2025-07-24 17:57:14.810,Euclides,Vezga,Data May 25,2025-07-16,140 +2025-07-24 18:01:59.134,Elizabeth,Hahn,Web May 25,2025-07-16,108 +2025-07-24 18:02:00.469,John,Stokes,Web May 25,2025-07-16,137 +2025-07-24 18:10:18.715,Jake,St Germain,Web May 25,2025-07-17,125 +2025-07-24 18:10:19.522,Robert,York,Web May 25,2025-07-17,124 +2025-07-24 18:10:21.512,Sunny,Zanchi,Web May 25,2025-07-17,121 +2025-07-24 18:13:20.200,Rama,Kattunga,AI Jan 25,2025-07-17,128 +2025-07-24 18:13:21.483,Chris,Metcalfe,AI Jan 25,2025-07-17,125 +2025-07-24 18:13:26.542,Christina,Porter,AI Jan 25,2025-07-17,128 +2025-07-24 18:16:57.449,Matt,Harvey,Data May 25,2025-07-17,141 +2025-07-24 18:24:04.524,David ,Dieruf,Web Jan 25,2025-07-22,119 +2025-07-24 18:24:10.197,Nick,Swinford,Web Jan 25,2025-07-22,118 +2025-07-24 18:24:11.861,Sebastian,Frohm,Web Jan 25,2025-07-22,119 +2025-07-24 18:27:04.796,Barbara,Adkins,Data May 25,2025-07-22,125 +2025-07-24 18:27:21.730,Saravanan ,Murugan,Data May 25,2025-07-22,92 +2025-07-24 18:30:33.119,Lawrence,Caudle,Web May 25,2025-07-22,135 +2025-07-24 18:34:32.631,Chris,Metcalfe,IT May 25,2025-07-22,138 +2025-07-24 18:34:34.135,Jake,Sexton,IT May 25,2025-07-22,138 +2025-07-24 18:38:12.235,Bill,Montgomery,Data Jan 25,2025-07-22,125 +2025-07-24 18:38:13.004,Christina,Porter,Data Jan 25,2025-07-22,151 +2025-07-24 18:42:46.710,Ryan ,Thompson,Data Jan 25,2025-07-23,65 +2025-07-24 18:45:58.220,Cody,Miller,Web Jan 25,2025-07-23,4 +2025-07-24 18:46:01.247,Michael,Puckett,Web Jan 25,2025-07-23,97 +2025-07-24 18:46:02.791,Ken,Quiggins,Web Jan 25,2025-07-23,99 +2025-07-24 18:50:34.025,Elizabeth,Hahn,Web May 25,2025-07-23,121 +2025-07-24 18:50:37.449,Cody,Miller,Web May 25,2025-07-23,85 +2025-07-24 18:50:38.308,John,Stokes,Web May 25,2025-07-23,140 +2025-07-24 18:50:39.124,Annaleya,Hamilton,Web May 25,2025-07-23,140 +2025-07-24 18:53:55.196,Euclides,Vezga,Data May 25,2025-07-23,139 +2025-07-24 18:58:15.849,Radmila,,Data Jan 25,2025-07-24,75 +2025-07-24 19:01:54.630,Craig,Geil,Web Jan 25,2025-07-24,119 +2025-07-24 19:05:05.753,Jake,St Germain,Web May 25,2025-07-24,118 +2025-07-24 19:05:08.640,Sunny,Zanchi,Web May 25,2025-07-24,21 +2025-07-24 19:09:18.522,Matt,Harvey,Data May 25,2025-07-24,127 +2025-07-24 19:33:55.493,Rama,Kattunga,AI Jan 25,2025-07-24,88 +2025-07-24 19:33:57.535,Chris,Metcalfe,AI Jan 25,2025-07-24,143 +2025-07-24 19:34:01.178,Christina,Porter,AI Jan 25,2025-07-24,142 diff --git a/data/Mentors.csv b/data/Mentors.csv new file mode 100644 index 0000000..2313f63 --- /dev/null +++ b/data/Mentors.csv @@ -0,0 +1,37 @@ +First Name,Last Name,Alternate Name +Alex,D, +Annaleya,Hamilton, +Austin,Reading, +Barbara,Adkins, +Bill,Montgomery, +Blare,Robinson, +Chris,Metcalfe,Chris Metcalfe +Chris ,Kaelin, +Christina,Porter, +Cody,Miller, +Craig,Geil, +David ,Brundage, +David ,Dieruf, +Elizabeth,George, +Elizabeth,Hahn, +Euclides,Vezga, +Jake,St Germain, +Jake,Sexton, +John,Stokes, +Justin,Schuhmann, +Ken,Quiggins,ken quiggins +Lawrence,Caudle, +Liz,Hahn, +Matt,Harvey, +Matt,Deshon, +Michael,Puckett, +Mostafa ,Nabieh, +Nick,Swinford, +Radmila,, +Rama,Kattunga, +Reddy,Praveena, +Robert,York, +Ryan ,Thompson, +Saravanan ,Murugan, +Sebastian,Frohm, +Sunny,Zanchi, diff --git a/data/Meta.csv b/data/Meta.csv new file mode 100644 index 0000000..4d5d10a --- /dev/null +++ b/data/Meta.csv @@ -0,0 +1,10 @@ +Class Name,Last Processed +Data May 25,2025-07-24 17:02:33.511 +Web May 25,2025-07-24 17:00:41.878 +Web Jan 25,2025-07-24 16:58:41.244 +Data Jan 25,2025-07-24 16:18:25.805 +IT May 25,2025-07-22 17:13:33.521 +Mentor,2025-07-01 00:00:00.000 +Intro May 25,2025-07-01 00:00:00.000 +Monday night speaker,2025-07-01 00:00:00.000 +AI Jan 25,2025-07-24 17:22:06.700 diff --git a/data/Not Found Log.csv b/data/Not Found Log.csv new file mode 100644 index 0000000..cdc4da0 --- /dev/null +++ b/data/Not Found Log.csv @@ -0,0 +1,56 @@ +Date,Name,Class,Session Date,Duration,Status +2025-07-24 17:05:45.792,sheila boyer,AI Jan 25,2025-06-12,95,Pending +2025-07-24 17:05:52.118,jaime moore,AI Jan 25,2025-06-12,103,Pending +2025-07-24 17:06:02.781,#ERROR!,AI Jan 25,2025-06-12,98,Pending +2025-07-24 17:08:28.712,joari orsini,AI Jan 25,2025-06-19,79,Pending +2025-07-24 17:10:45.100,#ERROR!,AI Jan 25,2025-06-26,123,Pending +2025-07-24 17:11:28.323,joari orsini,AI Jan 25,2025-06-26,6,Pending +2025-07-24 17:15:55.453,joari orsini,AI Jan 25,2025-07-03,2,Pending +2025-07-24 17:21:31.325,surendra achchhami,AI Jan 25,2025-07-10,8,Pending +2025-07-24 17:21:55.614,jason stephens,AI Jan 25,2025-07-10,19,Pending +2025-07-24 17:21:58.198,#ERROR!,AI Jan 25,2025-07-10,132,Pending +2025-07-24 17:29:48.839,kimberly hogle,Web Jan 25,2025-07-15,15,Pending +2025-07-24 17:31:43.893,oli ivanova,Data Jan 25,2025-07-15,24,Pending +2025-07-24 17:34:01.469,chris metcalfe,IT May 25,2025-07-15,121,Pending +2025-07-24 17:34:03.227,chris metcalfe,IT May 25,2025-07-15,0,Pending +2025-07-24 17:34:06.007,jake sexton,IT May 25,2025-07-15,102,Pending +2025-07-24 17:34:09.214,jewel w,IT May 25,2025-07-15,95,Pending +2025-07-24 17:36:31.179,afzal todji,Web May 25,2025-07-15,107,Pending +2025-07-24 17:40:33.977,david rock star,Data May 25,2025-07-15,128,Pending +2025-07-24 17:40:42.966,merveille bidimuena,Data May 25,2025-07-15,26,Pending +2025-07-24 17:40:47.393,shaheena begum,Data May 25,2025-07-15,113,Pending +2025-07-24 17:40:48.695,tomeka shelton,Data May 25,2025-07-15,126,Pending +2025-07-24 17:45:55.030,amanda morgan,Web Jan 25,2025-07-16,2,Pending +2025-07-24 17:57:21.486,shaheena begum,Data May 25,2025-07-16,4,Pending +2025-07-24 18:02:03.206,shannon bryar,Web May 25,2025-07-16,131,Pending +2025-07-24 18:10:10.628,petra,Web May 25,2025-07-17,120,Pending +2025-07-24 18:10:14.675,caitlen h,Web May 25,2025-07-17,122,Pending +2025-07-24 18:13:30.180,#ERROR!,AI Jan 25,2025-07-17,119,Pending +2025-07-24 18:16:52.109,jocara,Data May 25,2025-07-17,123,Pending +2025-07-24 18:16:52.943,leah,Data May 25,2025-07-17,128,Pending +2025-07-24 18:16:54.334,eugenia duke,Data May 25,2025-07-17,120,Pending +2025-07-24 18:17:03.410,molly nelson,Data May 25,2025-07-17,125,Pending +2025-07-24 18:17:05.599,meg shoemaker,Data May 25,2025-07-17,123,Pending +2025-07-24 18:24:08.343,mike halsey,Web Jan 25,2025-07-22,88,Pending +2025-07-24 18:27:09.069,shaheena begum,Data May 25,2025-07-22,121,Pending +2025-07-24 18:27:16.968,eugenia duke,Data May 25,2025-07-22,119,Pending +2025-07-24 18:27:24.769,david rock star,Data May 25,2025-07-22,125,Pending +2025-07-24 18:27:28.766,tomeka shelton,Data May 25,2025-07-22,110,Pending +2025-07-24 18:30:31.353,jiphrrr,Web May 25,2025-07-22,122,Pending +2025-07-24 18:30:36.249,gil gomez jr.,Web May 25,2025-07-22,115,Pending +2025-07-24 18:30:41.288,afzal todji,Web May 25,2025-07-22,129,Pending +2025-07-24 18:38:14.402,jonathan chadwell,Data Jan 25,2025-07-22,120,Pending +2025-07-24 18:38:14.933,oli ivanova,Data Jan 25,2025-07-22,127,Pending +2025-07-24 18:38:16.823,s. byrnes,Data Jan 25,2025-07-22,131,Pending +2025-07-24 18:38:17.359,tara leigh hylton,Data Jan 25,2025-07-22,111,Pending +2025-07-24 19:01:49.757,carl luke chapman,Web Jan 25,2025-07-24,4,Pending +2025-07-24 19:01:54.194,amy f,Web Jan 25,2025-07-24,122,Pending +2025-07-24 19:01:57.037,osvaldo rodriguez garcia,Web Jan 25,2025-07-24,118,Pending +2025-07-24 19:01:58.088,alexander wheeler,Web Jan 25,2025-07-24,121,Pending +2025-07-24 19:04:53.577,petra,Web May 25,2025-07-24,108,Pending +2025-07-24 19:04:59.590,caitlen h,Web May 25,2025-07-24,119,Pending +2025-07-24 19:05:10.712,jorge diaz,Web May 25,2025-07-24,14,Pending +2025-07-24 19:09:13.774,jocara,Data May 25,2025-07-24,116,Pending +2025-07-24 19:09:15.160,leah,Data May 25,2025-07-24,110,Pending +2025-07-24 19:09:23.267,molly nelson,Data May 25,2025-07-24,117,Pending +2025-07-24 19:34:08.083,#ERROR!,AI Jan 25,2025-07-24,101,Pending diff --git a/data/Processed Files Log.csv b/data/Processed Files Log.csv new file mode 100644 index 0000000..dff3b3c --- /dev/null +++ b/data/Processed Files Log.csv @@ -0,0 +1,40 @@ +Timestamp,Folder Name,Class Name,Meet Code,Session Date,Status +2025-07-24 17:06:02.898,2025-06-12 17:34 ecg-nndy-umh,AI Jan 25,ecg-nndy-umh,2025-06-12,Processed +2025-07-24 17:08:32.390,2025-06-19 18:01 ecg-nndy-umh,AI Jan 25,ecg-nndy-umh,2025-06-19,Processed +2025-07-24 17:11:51.202,2025-06-26 17:44 ecg-nndy-umh,AI Jan 25,ecg-nndy-umh,2025-06-26,Processed +2025-07-24 17:15:58.731,2025-07-03 17:55 ecg-nndy-umh,AI Jan 25,ecg-nndy-umh,2025-07-03,Processed +2025-07-24 17:21:58.343,2025-07-10 17:52 ecg-nndy-umh,AI Jan 25,ecg-nndy-umh,2025-07-10,Processed +2025-07-24 17:24:24.871,2025-07-14 17:41 rna-gvmc-zds,Monday Night Speaker,rna-gvmc-zds,2025-07-14,Speaker Session Logged +2025-07-24 17:26:11.622,2025-07-14 18:22 rna-gvmc-zds,Monday Night Speaker,rna-gvmc-zds,2025-07-14,Speaker Session Logged +2025-07-24 17:29:52.695,2025-07-15 17:56 kan-ptwt-ehz,Web Jan 25,kan-ptwt-ehz,2025-07-15,Processed +2025-07-24 17:31:46.620,2025-07-15 17:47 wrt-nsga-feo,Data Jan 25,wrt-nsga-feo,2025-07-15,Processed +2025-07-24 17:34:14.317,2025-07-15 17:39 jnt-wxek-pqh,IT May 25,jnt-wxek-pqh,2025-07-15,Processed +2025-07-24 17:36:42.174,2025-07-15 17:52 gfq-aghr-gbi,Web May 25,gfq-aghr-gbi,2025-07-15,Processed +2025-07-24 17:40:49.245,2025-07-15 17:26 rit-sszz-pbh,Data May 25,rit-sszz-pbh,2025-07-15,Processed +2025-07-24 17:45:55.693,2025-07-16 17:51 kan-ptwt-ehz,Web Jan 25,kan-ptwt-ehz,2025-07-16,Processed +2025-07-24 17:49:41.037,2025-07-16 17:47 wrt-nsga-feo,Data Jan 25,wrt-nsga-feo,2025-07-16,Processed +2025-07-24 17:53:07.705,2025-07-16 18:00 kan-ptwt-ehz,Web Jan 25,kan-ptwt-ehz,2025-07-16,Processed +2025-07-24 17:57:25.313,2025-07-16 17:48 rit-sszz-pbh,Data May 25,rit-sszz-pbh,2025-07-16,Processed +2025-07-24 18:02:06.733,2025-07-16 17:27 gfq-aghr-gbi,Web May 25,gfq-aghr-gbi,2025-07-16,Processed +2025-07-24 18:06:51.120,2025-07-17 17:53 wrt-nsga-feo,Data Jan 25,wrt-nsga-feo,2025-07-17,Processed +2025-07-24 18:10:22.386,2025-07-17 17:37 gfq-aghr-gbi,Web May 25,gfq-aghr-gbi,2025-07-17,Processed +2025-07-24 18:13:30.324,2025-07-17 17:42 ecg-nndy-umh,AI Jan 25,ecg-nndy-umh,2025-07-17,Processed +2025-07-24 18:17:07.916,2025-07-17 17:34 rit-sszz-pbh,Data May 25,rit-sszz-pbh,2025-07-17,Processed +2025-07-24 18:20:12.541,2025-07-21 17:40 rna-gvmc-zds,Monday Night Speaker,rna-gvmc-zds,2025-07-21,Speaker Session Logged +2025-07-24 18:24:13.783,2025-07-22 17:52 kan-ptwt-ehz,Web Jan 25,kan-ptwt-ehz,2025-07-22,Processed +2025-07-24 18:27:29.263,2025-07-22 17:25 rit-sszz-pbh,Data May 25,rit-sszz-pbh,2025-07-22,Processed +2025-07-24 18:30:41.465,2025-07-22 17:45 gfq-aghr-gbi,Web May 25,gfq-aghr-gbi,2025-07-22,Processed +2025-07-24 18:34:53.590,2025-07-22 17:33 jnt-wxek-pqh,IT May 25,jnt-wxek-pqh,2025-07-22,Processed +2025-07-24 18:38:19.460,2025-07-22 17:54 wrt-nsga-feo,Data Jan 25,wrt-nsga-feo,2025-07-22,Processed +2025-07-24 18:42:47.258,2025-07-23 17:45 wrt-nsga-feo,Data Jan 25,wrt-nsga-feo,2025-07-23,Processed +2025-07-24 18:46:05.198,2025-07-23 17:56 kan-ptwt-ehz,Web Jan 25,kan-ptwt-ehz,2025-07-23,Processed +2025-07-24 18:50:39.226,2025-07-23 16:17 gfq-aghr-gbi,Web May 25,gfq-aghr-gbi,2025-07-23,Processed +2025-07-24 18:53:56.221,2025-07-23 17:48 rit-sszz-pbh,Data May 25,rit-sszz-pbh,2025-07-23,Processed +2025-07-24 18:58:15.996,2025-07-24 17:44 wrt-nsga-feo,Data Jan 25,wrt-nsga-feo,2025-07-24,Processed +2025-07-24 19:01:58.202,2025-07-24 17:54 kan-ptwt-ehz,Web Jan 25,kan-ptwt-ehz,2025-07-24,Processed +2025-07-24 19:05:12.642,2025-07-24 17:37 gfq-aghr-gbi,Web May 25,gfq-aghr-gbi,2025-07-24,Processed +2025-07-24 19:09:31.976,2025-07-24 17:48 rit-sszz-pbh,Data May 25,rit-sszz-pbh,2025-07-24,Processed +2025-07-24 19:17:54.485,2025-07-14 17:41 rna-gvmc-zds,Monday Night Speaker,rna-gvmc-zds,2025-07-14,Speaker Session Logged +2025-07-24 19:19:31.800,2025-07-14 18:22 rna-gvmc-zds,Monday Night Speaker,rna-gvmc-zds,2025-07-14,Speaker Session Logged +2025-07-24 19:26:01.702,2025-07-21 17:40 rna-gvmc-zds,Monday Night Speaker,rna-gvmc-zds,2025-07-21,Speaker Session Logged +2025-07-24 19:34:08.701,2025-07-24 17:38 ecg-nndy-umh,AI Jan 25,ecg-nndy-umh,2025-07-24,Processed diff --git a/data/Speaker Log.csv b/data/Speaker Log.csv new file mode 100644 index 0000000..5c79f6f --- /dev/null +++ b/data/Speaker Log.csv @@ -0,0 +1,229 @@ +Date,Full Name,Session Date,Duration (min) +2025-07-24 17:24:10.594,ibrahim abouzeid,2025-07-14,3 +2025-07-24 17:24:10.811,ibrahim abouzeid,2025-07-14,2 +2025-07-24 17:24:10.986,anamaria albuquerque,2025-07-14,24 +2025-07-24 17:24:11.177,thomas bandy,2025-07-14,24 +2025-07-24 17:24:11.362,ana bogdanova,2025-07-14,20 +2025-07-24 17:24:11.551,evan bush,2025-07-14,20 +2025-07-24 17:24:11.742,dan collins,2025-07-14,27 +2025-07-24 17:24:11.936,jillian cramer,2025-07-14,20 +2025-07-24 17:24:12.137,angela cross-outland,2025-07-14,23 +2025-07-24 17:24:12.334,amy daniel,2025-07-14,24 +2025-07-24 17:24:12.574,sahiladevi deenadayalu,2025-07-14,21 +2025-07-24 17:24:13.110,collin farmer,2025-07-14,24 +2025-07-24 17:24:13.296,lindsey fuller,2025-07-14,21 +2025-07-24 17:24:13.478,tony garrett,2025-07-14,21 +2025-07-24 17:24:13.662,amanda gearhart,2025-07-14,6 +2025-07-24 17:24:13.833,ryan gibson,2025-07-14,23 +2025-07-24 17:24:14.281,s.r. griffith,2025-07-14,8 +2025-07-24 17:24:14.463,john hankins,2025-07-14,24 +2025-07-24 17:24:14.640,lisa heinecke,2025-07-14,23 +2025-07-24 17:24:14.805,miya hendren,2025-07-14,17 +2025-07-24 17:24:14.985,brandon hines,2025-07-14,24 +2025-07-24 17:24:15.166,tara leigh hylton,2025-07-14,24 +2025-07-24 17:24:15.344,oli ivanova,2025-07-14,10 +2025-07-24 17:24:15.562,chris joiner,2025-07-14,19 +2025-07-24 17:24:15.727,stephanie jones,2025-07-14,24 +2025-07-24 17:24:15.895,christopher kaelin,2025-07-14,24 +2025-07-24 17:24:16.089,jim kernicky,2025-07-14,21 +2025-07-24 17:24:16.262,angela kim,2025-07-14,21 +2025-07-24 17:24:16.456,mendell m,2025-07-14,24 +2025-07-24 17:24:16.634,dakota mcmullin,2025-07-14,23 +2025-07-24 17:24:16.807,nicolette r. mercado,2025-07-14,12 +2025-07-24 17:24:17.068,francesca mercado,2025-07-14,24 +2025-07-24 17:24:17.256,chris metcalfe,2025-07-14,24 +2025-07-24 17:24:17.440,amanda morgan,2025-07-14,21 +2025-07-24 17:24:17.623,danny morton,2025-07-14,32 +2025-07-24 17:24:17.883,kiprotich bett nickson,2025-07-14,21 +2025-07-24 17:24:18.692,el-aktif oulaya,2025-07-14,24 +2025-07-24 17:24:18.895,toni-ivy ownn.,2025-07-14,21 +2025-07-24 17:24:19.061,david samuelson,2025-07-14,14 +2025-07-24 17:24:19.249,eric schildmeyer,2025-07-14,22 +2025-07-24 17:24:20.275,shannon sheehy,2025-07-14,23 +2025-07-24 17:24:20.463,michael sliger,2025-07-14,22 +2025-07-24 17:24:21.830,huan song,2025-07-14,24 +2025-07-24 17:24:22.037,jonathan tate,2025-07-14,24 +2025-07-24 17:24:22.706,benjamin trieu,2025-07-14,22 +2025-07-24 17:24:22.889,cindy wedding,2025-07-14,24 +2025-07-24 17:24:23.071,zhenzhen xie,2025-07-14,18 +2025-07-24 17:24:24.108,david york,2025-07-14,17 +2025-07-24 17:24:24.678,luna zamora,2025-07-14,24 +2025-07-24 17:25:59.121,ibrahim abouzeid,2025-07-14,44 +2025-07-24 17:25:59.888,ibrahim abouzeid,2025-07-14,43 +2025-07-24 17:26:00.068,anamaria albuquerque,2025-07-14,44 +2025-07-24 17:26:00.230,thomas bandy,2025-07-14,42 +2025-07-24 17:26:00.397,ana bogdanova,2025-07-14,43 +2025-07-24 17:26:00.555,evan bush,2025-07-14,42 +2025-07-24 17:26:00.707,dan collins,2025-07-14,44 +2025-07-24 17:26:00.867,angela cross-outland,2025-07-14,43 +2025-07-24 17:26:01.020,amy daniel,2025-07-14,43 +2025-07-24 17:26:01.194,sahiladevi deenadayalu,2025-07-14,43 +2025-07-24 17:26:01.356,collin farmer,2025-07-14,43 +2025-07-24 17:26:01.512,jade frost,2025-07-14,21 +2025-07-24 17:26:01.673,lindsey fuller,2025-07-14,37 +2025-07-24 17:26:02.439,tony garrett,2025-07-14,42 +2025-07-24 17:26:02.583,ryan gibson,2025-07-14,43 +2025-07-24 17:26:02.743,john hankins,2025-07-14,43 +2025-07-24 17:26:03.085,lisa heinecke,2025-07-14,44 +2025-07-24 17:26:03.262,miya hendren,2025-07-14,44 +2025-07-24 17:26:03.416,brandon hines,2025-07-14,43 +2025-07-24 17:26:03.566,tara leigh hylton,2025-07-14,43 +2025-07-24 17:26:05.445,oli ivanova,2025-07-14,44 +2025-07-24 17:26:05.618,chris joiner,2025-07-14,43 +2025-07-24 17:26:05.813,stephanie jones,2025-07-14,43 +2025-07-24 17:26:05.978,christopher kaelin,2025-07-14,43 +2025-07-24 17:26:06.194,jim kernicky,2025-07-14,44 +2025-07-24 17:26:06.372,angela kim,2025-07-14,39 +2025-07-24 17:26:06.546,mendell m,2025-07-14,43 +2025-07-24 17:26:06.745,asaad manna,2025-07-14,9 +2025-07-24 17:26:06.908,dakota mcmullin,2025-07-14,43 +2025-07-24 17:26:07.094,nicolette r. mercado,2025-07-14,43 +2025-07-24 17:26:07.275,francesca mercado,2025-07-14,42 +2025-07-24 17:26:07.440,chris metcalfe,2025-07-14,44 +2025-07-24 17:26:07.632,amanda morgan,2025-07-14,44 +2025-07-24 17:26:07.840,danny morton,2025-07-14,44 +2025-07-24 17:26:08.011,kiprotich bett nickson,2025-07-14,44 +2025-07-24 17:26:08.198,el-aktif oulaya,2025-07-14,44 +2025-07-24 17:26:08.368,toni-ivy ownn.,2025-07-14,38 +2025-07-24 17:26:08.539,david samuelson,2025-07-14,43 +2025-07-24 17:26:08.713,eric schildmeyer,2025-07-14,42 +2025-07-24 17:26:08.864,shannon sheehy,2025-07-14,43 +2025-07-24 17:26:09.053,michael sliger,2025-07-14,44 +2025-07-24 17:26:09.238,huan song,2025-07-14,44 +2025-07-24 17:26:09.678,jonathan tate,2025-07-14,44 +2025-07-24 17:26:09.826,benjamin trieu,2025-07-14,43 +2025-07-24 17:26:09.999,cindy wedding,2025-07-14,44 +2025-07-24 17:26:11.290,david york,2025-07-14,44 +2025-07-24 17:26:11.427,luna zamora,2025-07-14,38 +2025-07-24 18:20:07.511,shaheena begum,2025-07-21,43 +2025-07-24 18:20:07.643,sergei bogdanov,2025-07-21,43 +2025-07-24 18:20:07.856,ana bogdanova,2025-07-21,57 +2025-07-24 18:20:08.045,jeremy brown,2025-07-21,44 +2025-07-24 18:20:08.308,jess buckner,2025-07-21,43 +2025-07-24 18:20:08.555,vernida campbell,2025-07-21,44 +2025-07-24 18:20:08.800,angela cross-outland,2025-07-21,11 +2025-07-24 18:20:09.021,joseph enderle,2025-07-21,42 +2025-07-24 18:20:09.217,karen enderle,2025-07-21,42 +2025-07-24 18:20:09.408,s.r. griffith,2025-07-21,44 +2025-07-24 18:20:09.610,morgan lane,2025-07-21,44 +2025-07-24 18:20:10.045,jermar mack,2025-07-21,44 +2025-07-24 18:20:10.448,angela moore,2025-07-21,44 +2025-07-24 18:20:10.654,shannon sheehy,2025-07-21,58 +2025-07-24 18:20:11.745,william slider,2025-07-21,41 +2025-07-24 18:20:11.944,michael sliger,2025-07-21,44 +2025-07-24 18:20:12.152,afzal todji,2025-07-21,41 +2025-07-24 18:20:12.357,david york,2025-07-21,47 +2025-07-24 19:17:36.530,ibrahim abouzeid,2025-07-14,3 +2025-07-24 19:17:36.722,ibrahim abouzeid,2025-07-14,2 +2025-07-24 19:17:36.968,anamaria albuquerque,2025-07-14,24 +2025-07-24 19:17:38.070,thomas bandy,2025-07-14,24 +2025-07-24 19:17:38.529,ana bogdanova,2025-07-14,20 +2025-07-24 19:17:39.013,evan bush,2025-07-14,20 +2025-07-24 19:17:39.642,dan collins,2025-07-14,27 +2025-07-24 19:17:39.828,jillian cramer,2025-07-14,20 +2025-07-24 19:17:40.015,angela cross-outland,2025-07-14,23 +2025-07-24 19:17:40.257,amy daniel,2025-07-14,24 +2025-07-24 19:17:40.514,sahiladevi deenadayalu,2025-07-14,21 +2025-07-24 19:17:40.817,collin farmer,2025-07-14,24 +2025-07-24 19:17:41.019,lindsey fuller,2025-07-14,21 +2025-07-24 19:17:41.241,tony garrett,2025-07-14,21 +2025-07-24 19:17:42.040,amanda gearhart,2025-07-14,6 +2025-07-24 19:17:42.816,ryan gibson,2025-07-14,23 +2025-07-24 19:17:43.010,s.r. griffith,2025-07-14,8 +2025-07-24 19:17:44.382,john hankins,2025-07-14,24 +2025-07-24 19:17:44.623,lisa heinecke,2025-07-14,23 +2025-07-24 19:17:44.844,miya hendren,2025-07-14,17 +2025-07-24 19:17:45.125,brandon hines,2025-07-14,24 +2025-07-24 19:17:45.413,tara leigh hylton,2025-07-14,24 +2025-07-24 19:17:45.713,oli ivanova,2025-07-14,10 +2025-07-24 19:17:45.915,chris joiner,2025-07-14,19 +2025-07-24 19:17:46.140,stephanie jones,2025-07-14,24 +2025-07-24 19:17:46.414,christopher kaelin,2025-07-14,24 +2025-07-24 19:17:46.643,jim kernicky,2025-07-14,21 +2025-07-24 19:17:46.840,angela kim,2025-07-14,21 +2025-07-24 19:17:48.223,mendell m,2025-07-14,24 +2025-07-24 19:17:48.527,dakota mcmullin,2025-07-14,23 +2025-07-24 19:17:48.712,nicolette r. mercado,2025-07-14,12 +2025-07-24 19:17:48.887,francesca mercado,2025-07-14,24 +2025-07-24 19:17:49.151,chris metcalfe,2025-07-14,24 +2025-07-24 19:17:49.415,amanda morgan,2025-07-14,21 +2025-07-24 19:17:49.638,danny morton,2025-07-14,32 +2025-07-24 19:17:49.843,kiprotich bett nickson,2025-07-14,21 +2025-07-24 19:17:50.077,el-aktif oulaya,2025-07-14,24 +2025-07-24 19:17:50.265,toni-ivy ownn.,2025-07-14,21 +2025-07-24 19:17:50.512,david samuelson,2025-07-14,14 +2025-07-24 19:17:50.748,eric schildmeyer,2025-07-14,22 +2025-07-24 19:17:51.022,shannon sheehy,2025-07-14,23 +2025-07-24 19:17:51.213,michael sliger,2025-07-14,22 +2025-07-24 19:17:51.417,huan song,2025-07-14,24 +2025-07-24 19:17:51.629,jonathan tate,2025-07-14,24 +2025-07-24 19:17:53.326,benjamin trieu,2025-07-14,22 +2025-07-24 19:17:53.516,cindy wedding,2025-07-14,24 +2025-07-24 19:17:53.719,zhenzhen xie,2025-07-14,18 +2025-07-24 19:17:54.011,david york,2025-07-14,17 +2025-07-24 19:17:54.195,luna zamora,2025-07-14,24 +2025-07-24 19:19:17.788,ibrahim abouzeid,2025-07-14,44 +2025-07-24 19:19:17.927,ibrahim abouzeid,2025-07-14,43 +2025-07-24 19:19:18.136,anamaria albuquerque,2025-07-14,44 +2025-07-24 19:19:18.327,thomas bandy,2025-07-14,42 +2025-07-24 19:19:18.539,ana bogdanova,2025-07-14,43 +2025-07-24 19:19:19.102,evan bush,2025-07-14,42 +2025-07-24 19:19:19.271,dan collins,2025-07-14,44 +2025-07-24 19:19:19.486,angela cross-outland,2025-07-14,43 +2025-07-24 19:19:19.712,amy daniel,2025-07-14,43 +2025-07-24 19:19:19.913,sahiladevi deenadayalu,2025-07-14,43 +2025-07-24 19:19:20.119,collin farmer,2025-07-14,43 +2025-07-24 19:19:20.299,jade frost,2025-07-14,21 +2025-07-24 19:19:20.688,lindsey fuller,2025-07-14,37 +2025-07-24 19:19:20.862,tony garrett,2025-07-14,42 +2025-07-24 19:19:21.342,ryan gibson,2025-07-14,43 +2025-07-24 19:19:22.120,john hankins,2025-07-14,43 +2025-07-24 19:19:22.326,lisa heinecke,2025-07-14,44 +2025-07-24 19:19:22.499,miya hendren,2025-07-14,44 +2025-07-24 19:19:22.702,brandon hines,2025-07-14,43 +2025-07-24 19:19:22.975,tara leigh hylton,2025-07-14,43 +2025-07-24 19:19:23.749,oli ivanova,2025-07-14,44 +2025-07-24 19:19:23.903,chris joiner,2025-07-14,43 +2025-07-24 19:19:24.077,stephanie jones,2025-07-14,43 +2025-07-24 19:19:24.230,christopher kaelin,2025-07-14,43 +2025-07-24 19:19:24.412,jim kernicky,2025-07-14,44 +2025-07-24 19:19:24.632,angela kim,2025-07-14,39 +2025-07-24 19:19:24.803,mendell m,2025-07-14,43 +2025-07-24 19:19:24.987,asaad manna,2025-07-14,9 +2025-07-24 19:19:25.215,dakota mcmullin,2025-07-14,43 +2025-07-24 19:19:25.409,nicolette r. mercado,2025-07-14,43 +2025-07-24 19:19:25.640,francesca mercado,2025-07-14,42 +2025-07-24 19:19:25.853,chris metcalfe,2025-07-14,44 +2025-07-24 19:19:26.032,amanda morgan,2025-07-14,44 +2025-07-24 19:19:26.889,danny morton,2025-07-14,44 +2025-07-24 19:19:27.056,kiprotich bett nickson,2025-07-14,44 +2025-07-24 19:19:27.854,el-aktif oulaya,2025-07-14,44 +2025-07-24 19:19:28.001,toni-ivy ownn.,2025-07-14,38 +2025-07-24 19:19:28.272,david samuelson,2025-07-14,43 +2025-07-24 19:19:28.835,eric schildmeyer,2025-07-14,42 +2025-07-24 19:19:29.033,shannon sheehy,2025-07-14,43 +2025-07-24 19:19:29.255,michael sliger,2025-07-14,44 +2025-07-24 19:19:29.473,huan song,2025-07-14,44 +2025-07-24 19:19:30.579,jonathan tate,2025-07-14,44 +2025-07-24 19:19:30.755,benjamin trieu,2025-07-14,43 +2025-07-24 19:19:30.938,cindy wedding,2025-07-14,44 +2025-07-24 19:19:31.154,david york,2025-07-14,44 +2025-07-24 19:19:31.632,luna zamora,2025-07-14,38 +2025-07-24 19:25:54.595,shaheena begum,2025-07-21,43 +2025-07-24 19:25:54.894,sergei bogdanov,2025-07-21,43 +2025-07-24 19:25:57.908,ana bogdanova,2025-07-21,57 +2025-07-24 19:25:58.130,jeremy brown,2025-07-21,44 +2025-07-24 19:25:58.307,jess buckner,2025-07-21,43 +2025-07-24 19:25:58.478,vernida campbell,2025-07-21,44 +2025-07-24 19:25:58.643,angela cross-outland,2025-07-21,11 +2025-07-24 19:25:58.815,joseph enderle,2025-07-21,42 +2025-07-24 19:25:58.962,karen enderle,2025-07-21,42 +2025-07-24 19:25:59.148,s.r. griffith,2025-07-21,44 +2025-07-24 19:25:59.309,morgan lane,2025-07-21,44 +2025-07-24 19:25:59.486,jermar mack,2025-07-21,44 +2025-07-24 19:25:59.700,angela moore,2025-07-21,44 +2025-07-24 19:25:59.853,shannon sheehy,2025-07-21,58 +2025-07-24 19:26:00.928,william slider,2025-07-21,41 +2025-07-24 19:26:01.124,michael sliger,2025-07-21,44 +2025-07-24 19:26:01.288,afzal todji,2025-07-21,41 +2025-07-24 19:26:01.456,david york,2025-07-21,47 diff --git a/data/Staff Log.csv b/data/Staff Log.csv new file mode 100644 index 0000000..6d8b3f7 --- /dev/null +++ b/data/Staff Log.csv @@ -0,0 +1,33 @@ +Date,First Name,Last Name,Class,Session Date,Duration (min) +2025-07-24 17:05:43.612,classroom,admin,AI Jan 25,2025-06-12,1 +2025-07-24 17:10:47.603,Ailene,Johnston,AI Jan 25,2025-06-26,149 +2025-07-24 17:11:03.586,classroom,admin,AI Jan 25,2025-06-26,2 +2025-07-24 17:21:35.345,classroom,admin,AI Jan 25,2025-07-10,62 +2025-07-24 17:21:39.824,Ailene,Johnston,AI Jan 25,2025-07-10,129 +2025-07-24 17:33:58.367,Amanda ,Gearhart,IT May 25,2025-07-15,0 +2025-07-24 17:34:03.946,classroom,admin,IT May 25,2025-07-15,103 +2025-07-24 17:36:33.962,Amanda ,Gearhart,Web May 25,2025-07-15,120 +2025-07-24 17:36:37.600,Dan,Collins,Web May 25,2025-07-15,132 +2025-07-24 17:40:25.818,Ailene,Johnston,Data May 25,2025-07-15,139 +2025-07-24 17:40:29.366,Amanda ,Gearhart,Data May 25,2025-07-15,2 +2025-07-24 17:57:12.046,Ailene,Johnston,Data May 25,2025-07-16,128 +2025-07-24 18:01:56.242,Blake,Herbert,Web May 25,2025-07-16,134 +2025-07-24 18:01:58.729,Dan,Collins,Web May 25,2025-07-16,134 +2025-07-24 18:10:12.452,Dan,Collins,Web May 25,2025-07-17,125 +2025-07-24 18:13:14.526,classroom,admin,AI Jan 25,2025-07-17,115 +2025-07-24 18:13:25.824,Tonia,Nolden,AI Jan 25,2025-07-17,3 +2025-07-24 18:17:00.902,Ailene,Johnston,Data May 25,2025-07-17,78 +2025-07-24 18:24:03.502,classroom,admin,Web Jan 25,2025-07-22,0 +2025-07-24 18:27:05.473,classroom,admin,Data May 25,2025-07-22,0 +2025-07-24 18:27:18.631,Blake,Herbert,Data May 25,2025-07-22,122 +2025-07-24 18:30:34.099,Dan,Collins,Web May 25,2025-07-22,131 +2025-07-24 18:34:33.346,classroom,admin,IT May 25,2025-07-22,21 +2025-07-24 18:34:53.217,Tonia,Nolden,IT May 25,2025-07-22,0 +2025-07-24 18:38:13.543,classroom,admin,Data Jan 25,2025-07-22,0 +2025-07-24 18:42:29.726,classroom,admin,Data Jan 25,2025-07-23,1 +2025-07-24 18:45:51.495,classroom,admin,Web Jan 25,2025-07-23,1 +2025-07-24 18:53:51.348,Ailene,Johnston,Data May 25,2025-07-23,136 +2025-07-24 19:01:48.189,classroom,admin,Web Jan 25,2025-07-24,0 +2025-07-24 19:01:50.410,Dan,Collins,Web Jan 25,2025-07-24,122 +2025-07-24 19:09:20.536,Blake,Herbert,Data May 25,2025-07-24,126 +2025-07-24 19:33:49.883,classroom,admin,AI Jan 25,2025-07-24,115 diff --git a/data/Staff.csv b/data/Staff.csv new file mode 100644 index 0000000..e5f43ce --- /dev/null +++ b/data/Staff.csv @@ -0,0 +1,18 @@ +First Name,Last name,Alternate Name,Email,Region +Ailene,Johnston,,, +Alli,Rippy,,, +Amanda ,Gearhart,,, +August,Mapp,,, +Blake,Herbert,,, +Brian ,Luerman,,, +classroom,admin,,, +Dan,Collins,,, +Danny,Morton,,, +David,York,,, +Emily,Sullivan,,, +Jared,Mueller,,, +Jenny,Terry,,, +Kalee,Howard,,, +Rekkai,Steed,,, +Shannon,Sheehy,,, +Tonia,Nolden,,, diff --git a/data/Students.csv b/data/Students.csv new file mode 100644 index 0000000..3f8481c --- /dev/null +++ b/data/Students.csv @@ -0,0 +1,31 @@ +First name,Last name,Email,Duration,Time joined,Time exited,Meet Code,Date +Alex,D,awda*****@***.com,2 hr 25 min,6:01 PM,8:26 PM,wrt-nsga-feo,07/29/2025 +Angela,Moore,ange*************@***.com,2 hr 29 min,5:59 PM,8:27 PM,wrt-nsga-feo,07/29/2025 +Bill,Montgomery,kyho***@***.com,2 hr 27 min,5:59 PM,8:26 PM,wrt-nsga-feo,07/29/2025 +Charles,Norman,ario****@***.com,2 hr 42 min,5:45 PM,8:27 PM,wrt-nsga-feo,07/29/2025 +Christina,Porter,chri**************@***.com,2 hr 4 min,6:15 PM,8:19 PM,wrt-nsga-feo,07/29/2025 +Cindy,Wedding,cwed*******@***.com,2 hr 22 min,6:03 PM,8:25 PM,wrt-nsga-feo,07/29/2025 +Classroom,Admin,classroom@codeyou.org,1 min,5:59 PM,6:00 PM,wrt-nsga-feo,07/29/2025 +Joel,Anderson,joel*************@***.com,2 hr 27 min,6:00 PM,8:27 PM,wrt-nsga-feo,07/29/2025 +Jonathan,Chadwell,jona*******************@***.com,2 hr 24 min,6:02 PM,8:26 PM,wrt-nsga-feo,07/29/2025 +Mendell,M,menm****@***.com,1 hr 58 min,6:00 PM,8:00 PM,wrt-nsga-feo,07/29/2025 +Oli,Ivanova,olga************@***.com,2 hr 14 min,5:59 PM,8:13 PM,wrt-nsga-feo,07/29/2025 +S.,Byrnes,smby***@***.com,1 hr 58 min,6:02 PM,8:00 PM,wrt-nsga-feo,07/29/2025 +Tara Leigh,Hylton,turr******@***.com,2 hr 5 min,6:01 PM,8:06 PM,wrt-nsga-feo,07/29/2025 +Whitney,Parks,wypa*****@***.com,2 hr 38 min,6:01 PM,8:39 PM,wrt-nsga-feo,07/29/2025 +Zachary,Young,zach*************@***.com,2 hr 6 min,5:54 PM,8:00 PM,wrt-nsga-feo,07/29/2025 +Zhenzhen,Xie,xzz.**********@***.com,2 hr 24 min,6:01 PM,8:26 PM,wrt-nsga-feo,07/29/2025 +Sheyla,Diaz,dshe*****@***.com,1 hr 43 min,5:58 PM,7:41 PM,kan-ptwt-ehz,07/30/2025 +James,Glosser,demo**********@***.com,1 hr 40 min,6:01 PM,7:41 PM,kan-ptwt-ehz,07/30/2025 +Reed,Haddix,shir***********@***.com,1 hr 46 min,5:55 PM,7:41 PM,kan-ptwt-ehz,07/30/2025 +John,Hankins,john**********@***.com,1 hr 38 min,6:03 PM,7:41 PM,kan-ptwt-ehz,07/30/2025 +Stephanie,Jones,step*******************@***.com,1 hr 48 min,5:53 PM,7:41 PM,kan-ptwt-ehz,07/30/2025 +Aaron,LaLiberty,daei**@***.com,1 hr 39 min,6:02 PM,7:41 PM,kan-ptwt-ehz,07/30/2025 +Dakota,McMullin,kota****@***.com,1 hr 11 min,5:59 PM,7:11 PM,kan-ptwt-ehz,07/30/2025 +Toni-Ivy,Ownn.,toni*********@***.com,1 hr 40 min,6:01 PM,7:41 PM,kan-ptwt-ehz,07/30/2025 +Michael,Puckett,mich***********@***.com,1 hr 37 min,6:04 PM,7:41 PM,kan-ptwt-ehz,07/30/2025 +Leighton,Pulliam,l8on**@***.com,1 hr 40 min,6:00 PM,7:41 PM,kan-ptwt-ehz,07/30/2025 +ken,quiggins,kash************@***.com,1 hr 43 min,5:58 PM,7:41 PM,kan-ptwt-ehz,07/30/2025 +Amber,Ratliff,arat********@***.com,1 hr 40 min,6:01 PM,7:41 PM,kan-ptwt-ehz,07/30/2025 +Jill,Schrank,just*******@***.com,1 hr 41 min,5:59 PM,7:41 PM,kan-ptwt-ehz,07/30/2025 +Huan,Song,huan********@***.com,1 hr 43 min,5:58 PM,7:41 PM,kan-ptwt-ehz,07/30/2025 diff --git a/data/Summary.csv b/data/Summary.csv new file mode 100644 index 0000000..8290c35 --- /dev/null +++ b/data/Summary.csv @@ -0,0 +1,282 @@ +Class,First Name,Last Name,Total Minutes +Data May 25,Alex,Fife,243 +Data May 25,Alex,Lamb,0 +Data May 25,Alex,Miramontes,242 +Data May 25,Alieshia,Nunnally,238 +Data May 25,Amy,Amos,257 +Data May 25,Angela,Berry,249 +Data May 25,Ava,Porter,224 +Data May 25,Benjamin,Trieu,248 +Data May 25,Braxton,Burke,219 +Data May 25,Brittiny,Roberts,264 +Data May 25,Carson,Pike,0 +Data May 25,Curtis,Schneider,254 +Data May 25,David,Anderson,0 +Data May 25,David,English,215 +Data May 25,Davonta,Garnett,244 +Data May 25,Eliot,Blair,244 +Data May 25,Elizabeth,Damron,235 +Data May 25,Angela,Duke,0 +Data May 25,Franklin,Sotolongo,0 +Data May 25,Glodi,Mbongo,150 +Data May 25,Jackie,Morrison,0 +Data May 25,Janeth,Blevins,250 +Data May 25,Jeremy,Brown,143 +Data May 25,Jerod ,Childs ,254 +Data May 25,Jocara,Beattie,0 +Data May 25,Joenathan,Smith,241 +Data May 25,Jonah,Nicholson,248 +Data May 25,Jessica,Long,123 +Data May 25,Julie,Gambill,245 +Data May 25,Justin,Masters,251 +Data May 25,Kaitlyn,Goins,247 +Data May 25,Katheryn,Thompson,241 +Data May 25,Katrinia,Reppen,248 +Data May 25,Kelsey,Schneider ,249 +Data May 25,Kyle,Coleman,257 +Data May 25,Lauren,Sapp,256 +Data May 25,Leah ,Hopkins,0 +Data May 25,Mack,Murphy,0 +Data May 25,Megan,Scott,241 +Data May 25,Megan,Shoemaker,0 +Data May 25,Miguel,Paredes,246 +Data May 25,Molly,Lott,0 +Data May 25,Nancy,Shaar,139 +Data May 25,Nayalys ,Santiesteban,229 +Data May 25,Penelope,Brisson,126 +Data May 25,Rayna ,Shake,247 +Data May 25,Rebecca,Halpryn,175 +Data May 25,Rebecca,Rader,241 +Data May 25,Robert,Yann,119 +Data May 25,Ryan,Mullins,0 +Data May 25,Ryan,Tackett,260 +Data May 25,Sarah,Phillips,0 +Data May 25,Sean,Cross,245 +Data May 25,Shaheena,B,0 +Data May 25,Steven,Fife,247 +Data May 25,Steven,Held,0 +Data May 25,Taylor,Tackett,139 +Data May 25,Tiffanie,White,217 +Data May 25,Tomeka,Johnson,0 +Data May 25,Tyler,Ballard,270 +Data May 25,William,Joiner,229 +Data May 25,Tony,High,257 +Web May 25,Afzalxuja,Tojixujaev,0 +Web May 25,Allison,Eigsti,240 +Web May 25,Amanda,allred,259 +Web May 25,Amanda,Spears,246 +Web May 25,Angela,Grajales,115 +Web May 25,Ashton,Napier,253 +Web May 25,Austin,Ford,250 +Web May 25,Brayden,Laakkonen,0 +Web May 25,Brian,Grider,21 +Web May 25,Brittany,Young,221 +Web May 25,Caitlen,Howell,0 +Web May 25,Chris,Habich,250 +Web May 25,Christian,Dennis,241 +Web May 25,Conner,Burchfield,247 +Web May 25,Dennis,Spradlin,0 +Web May 25,Elizabeth,Batz,241 +Web May 25,Emanuel,Ferrari,252 +Web May 25,Ethan,Sherer,238 +Web May 25,Evelyn,Baxter,117 +Web May 25,Gavin,Snyder,0 +Web May 25,Gilberto,Gomez Jr,0 +Web May 25,Greg,Workman,252 +Web May 25,Isaac,Gray,245 +Web May 25,Jim,Kernicky,247 +Web May 25,Jamie,Levinson,249 +Web May 25,John,Gahwyler,0 +Web May 25,Jordan,Henderson,246 +Web May 25,Jorge,Diaz Bencomo,258 +Web May 25,Joseph,Newell,0 +Web May 25,Kajen,Duvall,113 +Web May 25,Kalee,Howard,243 +Web May 25,Karen,Enderle,248 +Web May 25,Kellie,Kidd,255 +Web May 25,Kerry,McKenney,248 +Web May 25,Kyle,Nunn,119 +Web May 25,Matilda,Bowling,252 +Web May 25,Petra,Stark,0 +Web May 25,Samaya,Malone,225 +Web May 25,Scott,George,234 +Web May 25,Noni,Bryar,121 +Web May 25,S.R.,Griffith,251 +Web May 25,Shyanna,Kestner,0 +Web May 25,Sky,Mouser,119 +Web May 25,Theophilus,Abner,246 +Web May 25,Travis,Oberholtzer,240 +Web May 25,Vernida,Campbell,252 +Web May 25,Veronica,Johnson,117 +Web May 25,William,Slider,248 +IT May 25,Annette,Hines,211 +IT May 25,Ashlee,Foust,215 +IT May 25,Billy,Carrico,219 +IT May 25,Craig ,Phillips,208 +IT May 25,Jasin,Johnson,202 +IT May 25,Jeremy,Brown,127 +IT May 25,Jermar,Mack,215 +IT May 25,Jess,Buckner,215 +IT May 25,Jewel,W,111 +IT May 25,Joe ,Howard,205 +IT May 25,Jose,Portillo-Vasquez,223 +IT May 25,Joshua,Collins,172 +IT May 25,Justin ,Howard,230 +IT May 25,Ken,Colling,223 +IT May 25,Marty,Robbins,207 +IT May 25,Melissa,Lowe,222 +IT May 25,Onechay,Sorasin,220 +IT May 25,Ricky,Howard,0 +IT May 25,Sarah,Hatfield,217 +AI Jan 25,Abdelrazak,Hindy,235 +AI Jan 25,Alex,Laliberty,375 +AI Jan 25,Brandi,Ross,571 +AI Jan 25,Brandon,Thompson,521 +AI Jan 25,Brent,Rainwater,627 +AI Jan 25,Brian,Luerman,439 +AI Jan 25,Carlos,Stanton,690 +AI Jan 25,Cecelia ,Russell ,437 +AI Jan 25,Corey,Gilbert,0 +AI Jan 25,Dale,Murphy,461 +AI Jan 25,David,Cruse,513 +AI Jan 25,Elle,Adelman,286 +AI Jan 25,Ibrahim,Abouzeid,1230 +AI Jan 25,Jamila,Arabat,485 +AI Jan 25,Jessica,Long,502 +AI Jan 25,Jim,Sears,474 +AI Jan 25,Joaritza,Noriega,626 +AI Jan 25,Josh,Roehrig,334 +AI Jan 25,Keidrick,Henton,357 +AI Jan 25,Meagan,Smith,205 +AI Jan 25,Molli ,Peace ,0 +AI Jan 25,Nicholas,Cruse,565 +AI Jan 25,Noah,Moran,97 +AI Jan 25,Peter,Niehaus,492 +AI Jan 25,Phoenix,Berry,230 +AI Jan 25,Ricky,Thomas,465 +AI Jan 25,Ryan,Alvey,426 +AI Jan 25,Surendra,Nepali,504 +AI Jan 25,Tim,Moore,471 +AI Jan 25,Travis,Owens,471 +AI Jan 25,Verdie,Craig,576 +AI Jan 25,Willy,Jones,101 +AI Jan 25,Yazmin,Martinez Torres,0 +AI Jan 25,Alex,Lamb,0 +AI Jan 25,Carl,Brown,0 +AI Jan 25,Derek,Hardin,0 +AI Jan 25,Michael,Hall,0 +AI Jan 25,Barbara,Adkins,0 +AI Jan 25,William,Woodrum,0 +Data Jan 25,Adrian,Conyers,71 +Data Jan 25,Amanda,Willette,126 +Data Jan 25,Amy,Daniel ,0 +Data Jan 25,Amy,Kerdolff,62 +Data Jan 25,Anamaria,Albuquerque,69 +Data Jan 25,Andrew,Auxier,79 +Data Jan 25,Angel ,Thompson ,0 +Data Jan 25,Angela,Kim,57 +Data Jan 25,Angela,Moore,130 +Data Jan 25,Asaad,Alabdulaziz,0 +Data Jan 25,Ashley,Skidmore,68 +Data Jan 25,Brandon,Hines,71 +Data Jan 25,Charles,Norman,140 +Data Jan 25,Chris,Elliott,53 +Data Jan 25,Cindy,Wedding,0 +Data Jan 25,Collin,Farmer,67 +Data Jan 25,David,Buday,74 +Data Jan 25,David,Samuelson,59 +Data Jan 25,Diana,Zamora,0 +Data Jan 25,Eric,Schildmeyer,70 +Data Jan 25,Evan,Bush,61 +Data Jan 25,Hope,Curtis,0 +Data Jan 25,Hunter,Rings,0 +Data Jan 25,Jennifer,Pointer,64 +Data Jan 25,Joel,Anderson,148 +Data Jan 25,Jon,Chadwell,0 +Data Jan 25,Jud,Singleton,67 +Data Jan 25,Keshia,Hines,23 +Data Jan 25,Kristen,Crowe,49 +Data Jan 25,Leonardo,Abreu,1 +Data Jan 25,Lisa,Smith,69 +Data Jan 25,Lucy,Collins,67 +Data Jan 25,Matthew,Sabin,4 +Data Jan 25,Matt ,Simone,66 +Data Jan 25,Mendell,Taylor,0 +Data Jan 25,Michael,Sliger,4 +Data Jan 25,Morgan,Lane,66 +Data Jan 25,Nathan,Byrd,0 +Data Jan 25,Nick,Camic,61 +Data Jan 25,Nolan,Greene,0 +Data Jan 25,Olga,Ivanova,0 +Data Jan 25,el-aktif ,Oulaya,68 +Data Jan 25,Peggy,Nienaber,0 +Data Jan 25,Rebecca,Bodkin,29 +Data Jan 25,Sahiladevi,Deenadayalu,65 +Data Jan 25,Selim,Celik,0 +Data Jan 25,Sarah,Hill,0 +Data Jan 25,Saranyadevi ,Muthulingam,21 +Data Jan 25,Sean,Byrnes,0 +Data Jan 25,Sheila,Oaks,0 +Data Jan 25,Tabarak,Azawi,0 +Data Jan 25,Tara,Hylton,0 +Data Jan 25,Taylynne,Britton,65 +Data Jan 25,Tej,Pandey,115 +Data Jan 25,Trinity,Love,72 +Data Jan 25,Mwamba,Ilunga,72 +Data Jan 25,Whitney,Parks,123 +Data Jan 25,Zachary,Young,124 +Data Jan 25,Zhenzhen,Xie,124 +Web Jan 25,Aaron,Laliberty,98 +Web Jan 25,Aaron,Sierp,120 +Web Jan 25,Alicia,Bures,0 +Web Jan 25,Amanda,Hopkins Morgan,0 +Web Jan 25,Amber,Ratliff,76 +Web Jan 25,Amy,Fightmaster,0 +Web Jan 25,Angela,Outland,123 +Web Jan 25,Brendon,Spaulding,0 +Web Jan 25,Brent,Warf,0 +Web Jan 25,Carl,Chapman,0 +Web Jan 25,Chelsie,Pleasant,0 +Web Jan 25,Chris,Joiner,135 +Web Jan 25,Chris,Lambert,132 +Web Jan 25,Christopher,Gullett,123 +Web Jan 25,Christopher,Kaelin,120 +Web Jan 25,Dae,Grodin,117 +Web Jan 25,Dakota,McMullin,98 +Web Jan 25,Essence,Donloe,3 +Web Jan 25,Evan,Wheeler,0 +Web Jan 25,Francesca,Mercado,97 +Web Jan 25,Huan,Song,100 +Web Jan 25,Ivy,Owusu,104 +Web Jan 25,Jacobi,Wilson,122 +Web Jan 25,Jade,Frost,0 +Web Jan 25,Jaime,Hernandez-Alvarez,0 +Web Jan 25,James,Glosser,89 +Web Jan 25,Jill,Schrank,99 +Web Jan 25,Jillian,Cramer,115 +Web Jan 25,John,Hankins,100 +Web Jan 25,Jonathan,Tate,119 +Web Jan 25,Kajen,Duvall,0 +Web Jan 25,Kaleena,Dybas,98 +Web Jan 25,Kayla,Hardy,0 +Web Jan 25,Kim,Hogle,0 +Web Jan 25,Leighton,Pulliam,97 +Web Jan 25,Lindsey,Fuller,0 +Web Jan 25,Michael,Halsey,0 +Web Jan 25,Miya,Hendren,120 +Web Jan 25,Nickson,Bett,0 +Web Jan 25,Nicolette,Mercado,120 +Web Jan 25,Noah,Gabbard,0 +Web Jan 25,Osvaldo,Rodriguez,0 +Web Jan 25,Reed,Haddix,101 +Web Jan 25,Richard,Neal,119 +Web Jan 25,Ryan,Gibson,121 +Web Jan 25,Ryan,O'Boyle,129 +Web Jan 25,Sarah,Ransom,0 +Web Jan 25,Shade,Jacobs,121 +Web Jan 25,Sheyla,Diaz,100 +Web Jan 25,Sierra,Barger,0 +Web Jan 25,Stephanie ,Jones ,110 +Web Jan 25,Teri,Dowdy,122 +Web Jan 25,Thomas,Bandy,118 +Web Jan 25,Tony,Garrett,119 diff --git a/data/Template Notes.csv b/data/Template Notes.csv new file mode 100644 index 0000000..b4cded6 --- /dev/null +++ b/data/Template Notes.csv @@ -0,0 +1,17 @@ +Sheet,Purpose,Required Columns,Optional ,Best Practices,Updating Template +,,,,, +Attendance Sheet (Per class tab),Weekly record of attendance for a single class,"First Name, Last Name, Alternate Name, Class Name","Class night, region",Match roster names exactly - or create a name map, +,,,,Each class has own tab, +,,,,"Keep header row loacked and clean (no merged cells, emojis, extra formatting)", +Meet Codes,Mapping,"Meet Code, Class Name, Cohort",,"Never remove rows from MeetCodes that are in use +If you want to disable a meet code: Add a Status column (e.g. active, inactive) +Or comment it out but leave it in the sheet", +Meta,Document last processed,,,Be sure to set start date for first run to whatever time frame it needs to start,Start fresh - delete previous info +,,,,, +Not Found Log,Document names not on any list,"Name, Class Name, Date, Meet Code, Timestamp, status",,, +Mentor,Master list of mentors,"First Name, Last Name, email",,, +Mentor Log,Auto log of mentor attendance,,,, +Staff ,Master list of Staff,"First Name, last name",,, +Staff Log,Auto log of staff attendance,,,, +Debug Log,,,,, +Processed Files Log,,,,, diff --git a/data/Web Jan 25.csv b/data/Web Jan 25.csv new file mode 100644 index 0000000..de5297c --- /dev/null +++ b/data/Web Jan 25.csv @@ -0,0 +1,55 @@ +First Name,Last Name,Alternate Name,Class Name,Week of 07/14,Total Minutes,Week of 07/21 +Aaron,Laliberty,,Web Jan 25,,98.0,✔️ +Aaron,Sierp,Aaron Sierp,Web Jan 25,,120.0,✔️ +Alicia,Bures,,Web Jan 25,,, +Amanda,Hopkins Morgan,,Web Jan 25,,, +Amber,Ratliff,,Web Jan 25,,76.0,✔️ +Amy,Fightmaster,,Web Jan 25,,, +Angela,Outland,Angela Cross-Outland,Web Jan 25,,123.0,✔️ +Brendon,Spaulding,,Web Jan 25,,, +Brent,Warf,,Web Jan 25,,, +Carl,Chapman,,Web Jan 25,,, +Chelsie,Pleasant,,Web Jan 25,,, +Chris,Joiner,,Web Jan 25,✔️,135.0,✔️ +Chris,Lambert,,Web Jan 25,✔️,132.0,✔️ +Christopher,Gullett,,Web Jan 25,,123.0,✔️ +Christopher,Kaelin,,Web Jan 25,,120.0,✔️ +Dae,Grodin,,Web Jan 25,,117.0,✔️ +Dakota,McMullin,,Web Jan 25,,98.0,✔️ +Essence,Donloe,,Web Jan 25,,3.0,✔️ +Evan,Wheeler,,Web Jan 25,,, +Francesca,Mercado,,Web Jan 25,✔️,97.0,✔️ +Huan,Song,,Web Jan 25,✔️,100.0,✔️ +Ivy,Owusu,toni-ivy ownn.,Web Jan 25,✔️,104.0,✔️ +Jacobi,Wilson,,Web Jan 25,,122.0,✔️ +Jade,Frost,,Web Jan 25,,, +Jaime,Hernandez-Alvarez,,Web Jan 25,,, +James,Glosser,,Web Jan 25,,89.0,✔️ +Jill,Schrank,,Web Jan 25,,99.0,✔️ +Jillian,Cramer,,Web Jan 25,,115.0,✔️ +John,Hankins,,Web Jan 25,✔️,100.0,✔️ +Jonathan,Tate,,Web Jan 25,,119.0,✔️ +Kajen,Duvall,,Web Jan 25,,, +Kaleena,Dybas,,Web Jan 25,,98.0,✔️ +Kayla,Hardy,,Web Jan 25,,, +Kim,Hogle,,Web Jan 25,,, +Leighton,Pulliam,,Web Jan 25,,97.0,✔️ +Lindsey,Fuller,,Web Jan 25,,, +Michael,Halsey,,Web Jan 25,,, +Miya,Hendren,,Web Jan 25,,120.0,✔️ +Nickson,Bett,,Web Jan 25,,, +Nicolette,Mercado,,Web Jan 25,,120.0,✔️ +Noah,Gabbard,,Web Jan 25,,, +Osvaldo,Rodriguez,,Web Jan 25,,, +Reed,Haddix,,Web Jan 25,✔️,101.0,✔️ +Richard,Neal,,Web Jan 25,,119.0,✔️ +Ryan,Gibson,,Web Jan 25,,121.0,✔️ +Ryan,O'Boyle,,Web Jan 25,✔️,129.0,✔️ +Sarah,Ransom,,Web Jan 25,,, +Shade,Jacobs,,Web Jan 25,,121.0,✔️ +Sheyla,Diaz,,Web Jan 25,,100.0,✔️ +Sierra,Barger,,Web Jan 25,,, +Stephanie ,Jones ,,Web Jan 25,✔️,110.0,✔️ +Teri,Dowdy,,Web Jan 25,✔️,122.0,✔️ +Thomas,Bandy,,Web Jan 25,,118.0,✔️ +Tony,Garrett,,Web Jan 25,,119.0,✔️ diff --git a/data/Web May 25.csv b/data/Web May 25.csv new file mode 100644 index 0000000..4b566d6 --- /dev/null +++ b/data/Web May 25.csv @@ -0,0 +1,49 @@ +First Name,Last Name,Alternate Name,Class Name,Week of 07/14,Total Minutes,Week of 07/21 +Afzalxuja,Tojixujaev,,Web May 25,,, +Allison,Eigsti,,Web May 25,✔️,240.0,✔️ +Amanda,allred,,Web May 25,✔️,259.0,✔️ +Amanda,Spears,,Web May 25,✔️,246.0,✔️ +Angela,Grajales,,Web May 25,,115.0,✔️ +Ashton,Napier,,Web May 25,✔️,253.0,✔️ +Austin,Ford,,Web May 25,✔️,250.0,✔️ +Brayden,Laakkonen,,Web May 25,,, +Brian,Grider,,Web May 25,✔️,21.0, +Brittany,Young,be happy,Web May 25,,221.0,✔️ +Caitlen,Howell,,Web May 25,,, +Chris,Habich,,Web May 25,✔️,250.0,✔️ +Christian,Dennis,,Web May 25,✔️,241.0,✔️ +Conner,Burchfield,,Web May 25,✔️,247.0,✔️ +Dennis,Spradlin,,Web May 25,,, +Elizabeth,Batz,,Web May 25,✔️,241.0,✔️ +Emanuel,Ferrari,,Web May 25,✔️,252.0,✔️ +Ethan,Sherer,,Web May 25,✔️,238.0,✔️ +Evelyn,Baxter,,Web May 25,,117.0,✔️ +Gavin,Snyder,,Web May 25,,, +Gilberto,Gomez Jr,,Web May 25,,, +Greg,Workman,,Web May 25,✔️,252.0,✔️ +Isaac,Gray,,Web May 25,✔️,245.0,✔️ +Jim,Kernicky,,Web May 25,✔️,247.0,✔️ +Jamie,Levinson,,Web May 25,✔️,249.0,✔️ +John,Gahwyler,,Web May 25,,, +Jordan,Henderson,,Web May 25,✔️,246.0,✔️ +Jorge,Diaz Bencomo,,Web May 25,✔️,258.0,✔️ +Joseph,Newell,,Web May 25,,, +Kajen,Duvall,,Web May 25,✔️,113.0, +Kalee,Howard,,Web May 25,✔️,243.0,✔️ +Karen,Enderle,,Web May 25,✔️,248.0,✔️ +Kellie,Kidd,,Web May 25,✔️,255.0,✔️ +Kerry,McKenney,Kerry,Web May 25,✔️,248.0,✔️ +Kyle,Nunn,,Web May 25,,119.0,✔️ +Matilda,Bowling,,Web May 25,✔️,252.0,✔️ +Petra,Stark,,Web May 25,,, +Samaya,Malone,,Web May 25,✔️,225.0,✔️ +Scott,George,,Web May 25,✔️,234.0,✔️ +Noni,Bryar,Shannon,Web May 25,,121.0,✔️ +S.R.,Griffith,Shannon,Web May 25,✔️,251.0,✔️ +Shyanna,Kestner,,Web May 25,,, +Sky,Mouser,,Web May 25,✔️,119.0, +Theophilus,Abner,,Web May 25,✔️,246.0,✔️ +Travis,Oberholtzer,,Web May 25,✔️,240.0,✔️ +Vernida,Campbell,,Web May 25,✔️,252.0,✔️ +Veronica,Johnson,,Web May 25,✔️,117.0, +William,Slider,,Web May 25,✔️,248.0,✔️ diff --git a/data/WebJan25_kan-ptwt-ehz_07302025.csv b/data/WebJan25_kan-ptwt-ehz_07302025.csv new file mode 100644 index 0000000..c36646e --- /dev/null +++ b/data/WebJan25_kan-ptwt-ehz_07302025.csv @@ -0,0 +1,15 @@ +First name,Last name,Email,Duration,Time joined,Time exited +Sheyla,Diaz,dshe*****@***.com,1 hr 43 min,5:58 PM,7:41 PM +James,Glosser,demo**********@***.com,1 hr 40 min,6:01 PM,7:41 PM +Reed,Haddix,shir***********@***.com,1 hr 46 min,5:55 PM,7:41 PM +John,Hankins,john**********@***.com,1 hr 38 min,6:03 PM,7:41 PM +Stephanie,Jones,step*******************@***.com,1 hr 48 min,5:53 PM,7:41 PM +Aaron,LaLiberty,daei**@***.com,1 hr 39 min,6:02 PM,7:41 PM +Dakota,McMullin,kota****@***.com,1 hr 11 min,5:59 PM,7:11 PM +Toni-Ivy,Ownn.,toni*********@***.com,1 hr 40 min,6:01 PM,7:41 PM +Michael,Puckett,mich***********@***.com,1 hr 37 min,6:04 PM,7:41 PM +Leighton,Pulliam,l8on**@***.com,1 hr 40 min,6:00 PM,7:41 PM +ken,quiggins,kash************@***.com,1 hr 43 min,5:58 PM,7:41 PM +Amber,Ratliff,arat********@***.com,1 hr 40 min,6:01 PM,7:41 PM +Jill,Schrank,just*******@***.com,1 hr 41 min,5:59 PM,7:41 PM +Huan,Song,huan********@***.com,1 hr 43 min,5:58 PM,7:41 PM diff --git a/src/notebook/notebook_rk.ipynb b/src/notebook/notebook_rk.ipynb new file mode 100644 index 0000000..3ada2d0 --- /dev/null +++ b/src/notebook/notebook_rk.ipynb @@ -0,0 +1,1127 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "cc02d731", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import os\n", + "from typing import List, Optional" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "07ad96e6", + "metadata": {}, + "outputs": [], + "source": [ + "#Specify Excel file path\n", + "attendance_v3_file_path = \"../../data/Attendance_Template_v3.xlsx\"\n", + "#Load in Excel file\n", + "attendance_v3_file = pd.ExcelFile(attendance_v3_file_path)\n", + "#Iterate through each sheet in Excel file\n", + "for sheet_name in attendance_v3_file.sheet_names:\n", + " #Read in the current sheet\n", + " mentor_df = pd.read_excel(attendance_v3_file_path, sheet_name=sheet_name)\n", + " #Using the sheet name, define the CSV output file\n", + " csv_output_file = f\"../../data/{sheet_name}.csv\"\n", + " #Save the df to CSV\n", + " mentor_df.to_csv(csv_output_file, index=False)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "5987e035", + "metadata": {}, + "outputs": [], + "source": [ + "#Reading in MeetCodes file\n", + "MeetCodes = pd.read_csv(\"../../data/MeetCodes.csv\")\n", + "#Reading in class attendance reports as excel files\n", + "Attendance_Report_07302025 = pd.read_excel(\"../../data/2025-07-29 17_45 wrt-nsga-feo Attendance Report.xlsx\")\n", + "Attendance_Report_07292025 = pd.read_excel(\"../../data/2025-07-30 17_50 kan-ptwt-ehz Attendance Report.xlsx\")" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "886a505c", + "metadata": {}, + "outputs": [], + "source": [ + "# Reading in class attendance reports to csv \n", + "\n", + "Attendance_Report_07302025.to_csv(\"../../data/DataJan25_wrt-nsga-feo_07292025.csv\", index = None, header = True)\n", + "Attendance_Report_07292025.to_csv(\"../../data/WebJan25_kan-ptwt-ehz_07302025.csv\",index = None, header = True)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "14c2c742", + "metadata": {}, + "outputs": [], + "source": [ + "# Creating attendance reports dataframes\n", + "Data_Jan_25_07292025 = pd.read_csv(\"../../data/DataJan25_wrt-nsga-feo_07292025.csv\")\n", + "Web_Jan_25_07302025 = pd.read_csv(\"../../data/WebJan25_kan-ptwt-ehz_07302025.csv\")" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "11209228", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "

\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
First nameLast nameEmailDurationTime joinedTime exited
0AlexDawda*****@***.com2 hr 25 min6:01 PM8:26 PM
1AngelaMooreange*************@***.com2 hr 29 min5:59 PM8:27 PM
2BillMontgomerykyho***@***.com2 hr 27 min5:59 PM8:26 PM
3CharlesNormanario****@***.com2 hr 42 min5:45 PM8:27 PM
4ChristinaPorterchri**************@***.com2 hr 4 min6:15 PM8:19 PM
\n", + "
" + ], + "text/plain": [ + " First name Last name Email Duration Time joined \\\n", + "0 Alex D awda*****@***.com 2 hr 25 min 6:01 PM \n", + "1 Angela Moore ange*************@***.com 2 hr 29 min 5:59 PM \n", + "2 Bill Montgomery kyho***@***.com 2 hr 27 min 5:59 PM \n", + "3 Charles Norman ario****@***.com 2 hr 42 min 5:45 PM \n", + "4 Christina Porter chri**************@***.com 2 hr 4 min 6:15 PM \n", + "\n", + " Time exited \n", + "0 8:26 PM \n", + "1 8:27 PM \n", + "2 8:26 PM \n", + "3 8:27 PM \n", + "4 8:19 PM " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
First nameLast nameEmailDurationTime joinedTime exited
0SheylaDiazdshe*****@***.com1 hr 43 min5:58 PM7:41 PM
1JamesGlosserdemo**********@***.com1 hr 40 min6:01 PM7:41 PM
2ReedHaddixshir***********@***.com1 hr 46 min5:55 PM7:41 PM
3JohnHankinsjohn**********@***.com1 hr 38 min6:03 PM7:41 PM
4StephanieJonesstep*******************@***.com1 hr 48 min5:53 PM7:41 PM
\n", + "
" + ], + "text/plain": [ + " First name Last name Email Duration \\\n", + "0 Sheyla Diaz dshe*****@***.com 1 hr 43 min \n", + "1 James Glosser demo**********@***.com 1 hr 40 min \n", + "2 Reed Haddix shir***********@***.com 1 hr 46 min \n", + "3 John Hankins john**********@***.com 1 hr 38 min \n", + "4 Stephanie Jones step*******************@***.com 1 hr 48 min \n", + "\n", + " Time joined Time exited \n", + "0 5:58 PM 7:41 PM \n", + "1 6:01 PM 7:41 PM \n", + "2 5:55 PM 7:41 PM \n", + "3 6:03 PM 7:41 PM \n", + "4 5:53 PM 7:41 PM " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#view attendance dataframes\n", + "attendance = [Data_Jan_25_07292025, Web_Jan_25_07302025]\n", + "for a in attendance:\n", + " display(a.head())" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "c156b2ce", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
First nameLast nameEmailDurationTime joinedTime exitedMeet CodeDate
0AlexDawda*****@***.com2 hr 25 min6:01 PM8:26 PMwrt-nsga-feo07/29/2025
1AngelaMooreange*************@***.com2 hr 29 min5:59 PM8:27 PMwrt-nsga-feo07/29/2025
2BillMontgomerykyho***@***.com2 hr 27 min5:59 PM8:26 PMwrt-nsga-feo07/29/2025
3CharlesNormanario****@***.com2 hr 42 min5:45 PM8:27 PMwrt-nsga-feo07/29/2025
4ChristinaPorterchri**************@***.com2 hr 4 min6:15 PM8:19 PMwrt-nsga-feo07/29/2025
\n", + "
" + ], + "text/plain": [ + " First name Last name Email Duration Time joined \\\n", + "0 Alex D awda*****@***.com 2 hr 25 min 6:01 PM \n", + "1 Angela Moore ange*************@***.com 2 hr 29 min 5:59 PM \n", + "2 Bill Montgomery kyho***@***.com 2 hr 27 min 5:59 PM \n", + "3 Charles Norman ario****@***.com 2 hr 42 min 5:45 PM \n", + "4 Christina Porter chri**************@***.com 2 hr 4 min 6:15 PM \n", + "\n", + " Time exited Meet Code Date \n", + "0 8:26 PM wrt-nsga-feo 07/29/2025 \n", + "1 8:27 PM wrt-nsga-feo 07/29/2025 \n", + "2 8:26 PM wrt-nsga-feo 07/29/2025 \n", + "3 8:27 PM wrt-nsga-feo 07/29/2025 \n", + "4 8:19 PM wrt-nsga-feo 07/29/2025 " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
First nameLast nameEmailDurationTime joinedTime exitedMeet CodeDate
0SheylaDiazdshe*****@***.com1 hr 43 min5:58 PM7:41 PMkan-ptwt-ehz07/30/2025
1JamesGlosserdemo**********@***.com1 hr 40 min6:01 PM7:41 PMkan-ptwt-ehz07/30/2025
2ReedHaddixshir***********@***.com1 hr 46 min5:55 PM7:41 PMkan-ptwt-ehz07/30/2025
3JohnHankinsjohn**********@***.com1 hr 38 min6:03 PM7:41 PMkan-ptwt-ehz07/30/2025
4StephanieJonesstep*******************@***.com1 hr 48 min5:53 PM7:41 PMkan-ptwt-ehz07/30/2025
\n", + "
" + ], + "text/plain": [ + " First name Last name Email Duration \\\n", + "0 Sheyla Diaz dshe*****@***.com 1 hr 43 min \n", + "1 James Glosser demo**********@***.com 1 hr 40 min \n", + "2 Reed Haddix shir***********@***.com 1 hr 46 min \n", + "3 John Hankins john**********@***.com 1 hr 38 min \n", + "4 Stephanie Jones step*******************@***.com 1 hr 48 min \n", + "\n", + " Time joined Time exited Meet Code Date \n", + "0 5:58 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", + "1 6:01 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", + "2 5:55 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", + "3 6:03 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", + "4 5:53 PM 7:41 PM kan-ptwt-ehz 07/30/2025 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Add columns for Meet Code & Date\n", + "Data_Jan_25_07292025[\"Meet Code\"] = \"wrt-nsga-feo\"\n", + "Data_Jan_25_07292025[\"Date\"] = \"07/29/2025\"\n", + "Web_Jan_25_07302025[\"Meet Code\"] = \"kan-ptwt-ehz\"\n", + "Web_Jan_25_07302025[\"Date\"] = \"07/30/2025\"\n", + "\n", + "attendance = [Data_Jan_25_07292025, Web_Jan_25_07302025]\n", + "for a in attendance:\n", + " display(a.head())" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "6551ff30", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
First nameLast nameEmailDurationTime joinedTime exitedMeet CodeDate
0AlexDawda*****@***.com2 hr 25 min6:01 PM8:26 PMwrt-nsga-feo07/29/2025
1AngelaMooreange*************@***.com2 hr 29 min5:59 PM8:27 PMwrt-nsga-feo07/29/2025
2BillMontgomerykyho***@***.com2 hr 27 min5:59 PM8:26 PMwrt-nsga-feo07/29/2025
3CharlesNormanario****@***.com2 hr 42 min5:45 PM8:27 PMwrt-nsga-feo07/29/2025
4ChristinaPorterchri**************@***.com2 hr 4 min6:15 PM8:19 PMwrt-nsga-feo07/29/2025
\n", + "
" + ], + "text/plain": [ + " First name Last name Email Duration Time joined \\\n", + "0 Alex D awda*****@***.com 2 hr 25 min 6:01 PM \n", + "1 Angela Moore ange*************@***.com 2 hr 29 min 5:59 PM \n", + "2 Bill Montgomery kyho***@***.com 2 hr 27 min 5:59 PM \n", + "3 Charles Norman ario****@***.com 2 hr 42 min 5:45 PM \n", + "4 Christina Porter chri**************@***.com 2 hr 4 min 6:15 PM \n", + "\n", + " Time exited Meet Code Date \n", + "0 8:26 PM wrt-nsga-feo 07/29/2025 \n", + "1 8:27 PM wrt-nsga-feo 07/29/2025 \n", + "2 8:26 PM wrt-nsga-feo 07/29/2025 \n", + "3 8:27 PM wrt-nsga-feo 07/29/2025 \n", + "4 8:19 PM wrt-nsga-feo 07/29/2025 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Combine the data \n", + "Students = pd.concat([Data_Jan_25_07292025, Web_Jan_25_07302025], axis = 0)\n", + "# Write df to individual CSV\n", + "Students.to_csv(\"../../data/Students.csv\", index = None, header = True)\n", + "\n", + "display(Students.head())\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "a3ee4cfa", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
First NameLast NameEmailDurationTime JoinedTime ExitedMeet CodeDate
0AlexDawda*****@***.com2 hr 25 min6:01 PM8:26 PMwrt-nsga-feo07/29/2025
1AngelaMooreange*************@***.com2 hr 29 min5:59 PM8:27 PMwrt-nsga-feo07/29/2025
2BillMontgomerykyho***@***.com2 hr 27 min5:59 PM8:26 PMwrt-nsga-feo07/29/2025
3CharlesNormanario****@***.com2 hr 42 min5:45 PM8:27 PMwrt-nsga-feo07/29/2025
4ChristinaPorterchri**************@***.com2 hr 4 min6:15 PM8:19 PMwrt-nsga-feo07/29/2025
5CindyWeddingcwed*******@***.com2 hr 22 min6:03 PM8:25 PMwrt-nsga-feo07/29/2025
6ClassroomAdminclassroom@codeyou.org1 min5:59 PM6:00 PMwrt-nsga-feo07/29/2025
7JoelAndersonjoel*************@***.com2 hr 27 min6:00 PM8:27 PMwrt-nsga-feo07/29/2025
8JonathanChadwelljona*******************@***.com2 hr 24 min6:02 PM8:26 PMwrt-nsga-feo07/29/2025
9MendellMmenm****@***.com1 hr 58 min6:00 PM8:00 PMwrt-nsga-feo07/29/2025
10OliIvanovaolga************@***.com2 hr 14 min5:59 PM8:13 PMwrt-nsga-feo07/29/2025
11S.Byrnessmby***@***.com1 hr 58 min6:02 PM8:00 PMwrt-nsga-feo07/29/2025
12Tara LeighHyltonturr******@***.com2 hr 5 min6:01 PM8:06 PMwrt-nsga-feo07/29/2025
13WhitneyParkswypa*****@***.com2 hr 38 min6:01 PM8:39 PMwrt-nsga-feo07/29/2025
14ZacharyYoungzach*************@***.com2 hr 6 min5:54 PM8:00 PMwrt-nsga-feo07/29/2025
15ZhenzhenXiexzz.**********@***.com2 hr 24 min6:01 PM8:26 PMwrt-nsga-feo07/29/2025
0SheylaDiazdshe*****@***.com1 hr 43 min5:58 PM7:41 PMkan-ptwt-ehz07/30/2025
1JamesGlosserdemo**********@***.com1 hr 40 min6:01 PM7:41 PMkan-ptwt-ehz07/30/2025
2ReedHaddixshir***********@***.com1 hr 46 min5:55 PM7:41 PMkan-ptwt-ehz07/30/2025
3JohnHankinsjohn**********@***.com1 hr 38 min6:03 PM7:41 PMkan-ptwt-ehz07/30/2025
4StephanieJonesstep*******************@***.com1 hr 48 min5:53 PM7:41 PMkan-ptwt-ehz07/30/2025
5AaronLaLibertydaei**@***.com1 hr 39 min6:02 PM7:41 PMkan-ptwt-ehz07/30/2025
6DakotaMcMullinkota****@***.com1 hr 11 min5:59 PM7:11 PMkan-ptwt-ehz07/30/2025
7Toni-IvyOwnn.toni*********@***.com1 hr 40 min6:01 PM7:41 PMkan-ptwt-ehz07/30/2025
8MichaelPuckettmich***********@***.com1 hr 37 min6:04 PM7:41 PMkan-ptwt-ehz07/30/2025
9LeightonPulliaml8on**@***.com1 hr 40 min6:00 PM7:41 PMkan-ptwt-ehz07/30/2025
10kenquigginskash************@***.com1 hr 43 min5:58 PM7:41 PMkan-ptwt-ehz07/30/2025
11AmberRatliffarat********@***.com1 hr 40 min6:01 PM7:41 PMkan-ptwt-ehz07/30/2025
12JillSchrankjust*******@***.com1 hr 41 min5:59 PM7:41 PMkan-ptwt-ehz07/30/2025
13HuanSonghuan********@***.com1 hr 43 min5:58 PM7:41 PMkan-ptwt-ehz07/30/2025
\n", + "
" + ], + "text/plain": [ + " First Name Last Name Email Duration \\\n", + "0 Alex D awda*****@***.com 2 hr 25 min \n", + "1 Angela Moore ange*************@***.com 2 hr 29 min \n", + "2 Bill Montgomery kyho***@***.com 2 hr 27 min \n", + "3 Charles Norman ario****@***.com 2 hr 42 min \n", + "4 Christina Porter chri**************@***.com 2 hr 4 min \n", + "5 Cindy Wedding cwed*******@***.com 2 hr 22 min \n", + "6 Classroom Admin classroom@codeyou.org 1 min \n", + "7 Joel Anderson joel*************@***.com 2 hr 27 min \n", + "8 Jonathan Chadwell jona*******************@***.com 2 hr 24 min \n", + "9 Mendell M menm****@***.com 1 hr 58 min \n", + "10 Oli Ivanova olga************@***.com 2 hr 14 min \n", + "11 S. Byrnes smby***@***.com 1 hr 58 min \n", + "12 Tara Leigh Hylton turr******@***.com 2 hr 5 min \n", + "13 Whitney Parks wypa*****@***.com 2 hr 38 min \n", + "14 Zachary Young zach*************@***.com 2 hr 6 min \n", + "15 Zhenzhen Xie xzz.**********@***.com 2 hr 24 min \n", + "0 Sheyla Diaz dshe*****@***.com 1 hr 43 min \n", + "1 James Glosser demo**********@***.com 1 hr 40 min \n", + "2 Reed Haddix shir***********@***.com 1 hr 46 min \n", + "3 John Hankins john**********@***.com 1 hr 38 min \n", + "4 Stephanie Jones step*******************@***.com 1 hr 48 min \n", + "5 Aaron LaLiberty daei**@***.com 1 hr 39 min \n", + "6 Dakota McMullin kota****@***.com 1 hr 11 min \n", + "7 Toni-Ivy Ownn. toni*********@***.com 1 hr 40 min \n", + "8 Michael Puckett mich***********@***.com 1 hr 37 min \n", + "9 Leighton Pulliam l8on**@***.com 1 hr 40 min \n", + "10 ken quiggins kash************@***.com 1 hr 43 min \n", + "11 Amber Ratliff arat********@***.com 1 hr 40 min \n", + "12 Jill Schrank just*******@***.com 1 hr 41 min \n", + "13 Huan Song huan********@***.com 1 hr 43 min \n", + "\n", + " Time Joined Time Exited Meet Code Date \n", + "0 6:01 PM 8:26 PM wrt-nsga-feo 07/29/2025 \n", + "1 5:59 PM 8:27 PM wrt-nsga-feo 07/29/2025 \n", + "2 5:59 PM 8:26 PM wrt-nsga-feo 07/29/2025 \n", + "3 5:45 PM 8:27 PM wrt-nsga-feo 07/29/2025 \n", + "4 6:15 PM 8:19 PM wrt-nsga-feo 07/29/2025 \n", + "5 6:03 PM 8:25 PM wrt-nsga-feo 07/29/2025 \n", + "6 5:59 PM 6:00 PM wrt-nsga-feo 07/29/2025 \n", + "7 6:00 PM 8:27 PM wrt-nsga-feo 07/29/2025 \n", + "8 6:02 PM 8:26 PM wrt-nsga-feo 07/29/2025 \n", + "9 6:00 PM 8:00 PM wrt-nsga-feo 07/29/2025 \n", + "10 5:59 PM 8:13 PM wrt-nsga-feo 07/29/2025 \n", + "11 6:02 PM 8:00 PM wrt-nsga-feo 07/29/2025 \n", + "12 6:01 PM 8:06 PM wrt-nsga-feo 07/29/2025 \n", + "13 6:01 PM 8:39 PM wrt-nsga-feo 07/29/2025 \n", + "14 5:54 PM 8:00 PM wrt-nsga-feo 07/29/2025 \n", + "15 6:01 PM 8:26 PM wrt-nsga-feo 07/29/2025 \n", + "0 5:58 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", + "1 6:01 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", + "2 5:55 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", + "3 6:03 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", + "4 5:53 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", + "5 6:02 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", + "6 5:59 PM 7:11 PM kan-ptwt-ehz 07/30/2025 \n", + "7 6:01 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", + "8 6:04 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", + "9 6:00 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", + "10 5:58 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", + "11 6:01 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", + "12 5:59 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", + "13 5:58 PM 7:41 PM kan-ptwt-ehz 07/30/2025 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Change column headers to string\n", + "Students.columns = [str(col) for col in Students.columns]\n", + "\n", + "# Capatalize each individual word in column header\n", + "Students.columns = Students.columns.str.title()\n", + "\n", + "display(Students)\n", + "\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.0" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 345fa6bebdb2ca4dd18b8719b2e871013259b6d6 Mon Sep 17 00:00:00 2001 From: leolion023 Date: Tue, 21 Oct 2025 14:03:24 -0400 Subject: [PATCH 2/4] reconcile file name changes --- src/notebook/notebook_rk.ipynb | 1127 -------------------------------- 1 file changed, 1127 deletions(-) delete mode 100644 src/notebook/notebook_rk.ipynb diff --git a/src/notebook/notebook_rk.ipynb b/src/notebook/notebook_rk.ipynb deleted file mode 100644 index 3ada2d0..0000000 --- a/src/notebook/notebook_rk.ipynb +++ /dev/null @@ -1,1127 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "cc02d731", - "metadata": {}, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import os\n", - "from typing import List, Optional" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "07ad96e6", - "metadata": {}, - "outputs": [], - "source": [ - "#Specify Excel file path\n", - "attendance_v3_file_path = \"../../data/Attendance_Template_v3.xlsx\"\n", - "#Load in Excel file\n", - "attendance_v3_file = pd.ExcelFile(attendance_v3_file_path)\n", - "#Iterate through each sheet in Excel file\n", - "for sheet_name in attendance_v3_file.sheet_names:\n", - " #Read in the current sheet\n", - " mentor_df = pd.read_excel(attendance_v3_file_path, sheet_name=sheet_name)\n", - " #Using the sheet name, define the CSV output file\n", - " csv_output_file = f\"../../data/{sheet_name}.csv\"\n", - " #Save the df to CSV\n", - " mentor_df.to_csv(csv_output_file, index=False)\n" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "5987e035", - "metadata": {}, - "outputs": [], - "source": [ - "#Reading in MeetCodes file\n", - "MeetCodes = pd.read_csv(\"../../data/MeetCodes.csv\")\n", - "#Reading in class attendance reports as excel files\n", - "Attendance_Report_07302025 = pd.read_excel(\"../../data/2025-07-29 17_45 wrt-nsga-feo Attendance Report.xlsx\")\n", - "Attendance_Report_07292025 = pd.read_excel(\"../../data/2025-07-30 17_50 kan-ptwt-ehz Attendance Report.xlsx\")" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "886a505c", - "metadata": {}, - "outputs": [], - "source": [ - "# Reading in class attendance reports to csv \n", - "\n", - "Attendance_Report_07302025.to_csv(\"../../data/DataJan25_wrt-nsga-feo_07292025.csv\", index = None, header = True)\n", - "Attendance_Report_07292025.to_csv(\"../../data/WebJan25_kan-ptwt-ehz_07302025.csv\",index = None, header = True)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "14c2c742", - "metadata": {}, - "outputs": [], - "source": [ - "# Creating attendance reports dataframes\n", - "Data_Jan_25_07292025 = pd.read_csv(\"../../data/DataJan25_wrt-nsga-feo_07292025.csv\")\n", - "Web_Jan_25_07302025 = pd.read_csv(\"../../data/WebJan25_kan-ptwt-ehz_07302025.csv\")" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "11209228", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
First nameLast nameEmailDurationTime joinedTime exited
0AlexDawda*****@***.com2 hr 25 min6:01 PM8:26 PM
1AngelaMooreange*************@***.com2 hr 29 min5:59 PM8:27 PM
2BillMontgomerykyho***@***.com2 hr 27 min5:59 PM8:26 PM
3CharlesNormanario****@***.com2 hr 42 min5:45 PM8:27 PM
4ChristinaPorterchri**************@***.com2 hr 4 min6:15 PM8:19 PM
\n", - "
" - ], - "text/plain": [ - " First name Last name Email Duration Time joined \\\n", - "0 Alex D awda*****@***.com 2 hr 25 min 6:01 PM \n", - "1 Angela Moore ange*************@***.com 2 hr 29 min 5:59 PM \n", - "2 Bill Montgomery kyho***@***.com 2 hr 27 min 5:59 PM \n", - "3 Charles Norman ario****@***.com 2 hr 42 min 5:45 PM \n", - "4 Christina Porter chri**************@***.com 2 hr 4 min 6:15 PM \n", - "\n", - " Time exited \n", - "0 8:26 PM \n", - "1 8:27 PM \n", - "2 8:26 PM \n", - "3 8:27 PM \n", - "4 8:19 PM " - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
First nameLast nameEmailDurationTime joinedTime exited
0SheylaDiazdshe*****@***.com1 hr 43 min5:58 PM7:41 PM
1JamesGlosserdemo**********@***.com1 hr 40 min6:01 PM7:41 PM
2ReedHaddixshir***********@***.com1 hr 46 min5:55 PM7:41 PM
3JohnHankinsjohn**********@***.com1 hr 38 min6:03 PM7:41 PM
4StephanieJonesstep*******************@***.com1 hr 48 min5:53 PM7:41 PM
\n", - "
" - ], - "text/plain": [ - " First name Last name Email Duration \\\n", - "0 Sheyla Diaz dshe*****@***.com 1 hr 43 min \n", - "1 James Glosser demo**********@***.com 1 hr 40 min \n", - "2 Reed Haddix shir***********@***.com 1 hr 46 min \n", - "3 John Hankins john**********@***.com 1 hr 38 min \n", - "4 Stephanie Jones step*******************@***.com 1 hr 48 min \n", - "\n", - " Time joined Time exited \n", - "0 5:58 PM 7:41 PM \n", - "1 6:01 PM 7:41 PM \n", - "2 5:55 PM 7:41 PM \n", - "3 6:03 PM 7:41 PM \n", - "4 5:53 PM 7:41 PM " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "#view attendance dataframes\n", - "attendance = [Data_Jan_25_07292025, Web_Jan_25_07302025]\n", - "for a in attendance:\n", - " display(a.head())" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "c156b2ce", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
First nameLast nameEmailDurationTime joinedTime exitedMeet CodeDate
0AlexDawda*****@***.com2 hr 25 min6:01 PM8:26 PMwrt-nsga-feo07/29/2025
1AngelaMooreange*************@***.com2 hr 29 min5:59 PM8:27 PMwrt-nsga-feo07/29/2025
2BillMontgomerykyho***@***.com2 hr 27 min5:59 PM8:26 PMwrt-nsga-feo07/29/2025
3CharlesNormanario****@***.com2 hr 42 min5:45 PM8:27 PMwrt-nsga-feo07/29/2025
4ChristinaPorterchri**************@***.com2 hr 4 min6:15 PM8:19 PMwrt-nsga-feo07/29/2025
\n", - "
" - ], - "text/plain": [ - " First name Last name Email Duration Time joined \\\n", - "0 Alex D awda*****@***.com 2 hr 25 min 6:01 PM \n", - "1 Angela Moore ange*************@***.com 2 hr 29 min 5:59 PM \n", - "2 Bill Montgomery kyho***@***.com 2 hr 27 min 5:59 PM \n", - "3 Charles Norman ario****@***.com 2 hr 42 min 5:45 PM \n", - "4 Christina Porter chri**************@***.com 2 hr 4 min 6:15 PM \n", - "\n", - " Time exited Meet Code Date \n", - "0 8:26 PM wrt-nsga-feo 07/29/2025 \n", - "1 8:27 PM wrt-nsga-feo 07/29/2025 \n", - "2 8:26 PM wrt-nsga-feo 07/29/2025 \n", - "3 8:27 PM wrt-nsga-feo 07/29/2025 \n", - "4 8:19 PM wrt-nsga-feo 07/29/2025 " - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
First nameLast nameEmailDurationTime joinedTime exitedMeet CodeDate
0SheylaDiazdshe*****@***.com1 hr 43 min5:58 PM7:41 PMkan-ptwt-ehz07/30/2025
1JamesGlosserdemo**********@***.com1 hr 40 min6:01 PM7:41 PMkan-ptwt-ehz07/30/2025
2ReedHaddixshir***********@***.com1 hr 46 min5:55 PM7:41 PMkan-ptwt-ehz07/30/2025
3JohnHankinsjohn**********@***.com1 hr 38 min6:03 PM7:41 PMkan-ptwt-ehz07/30/2025
4StephanieJonesstep*******************@***.com1 hr 48 min5:53 PM7:41 PMkan-ptwt-ehz07/30/2025
\n", - "
" - ], - "text/plain": [ - " First name Last name Email Duration \\\n", - "0 Sheyla Diaz dshe*****@***.com 1 hr 43 min \n", - "1 James Glosser demo**********@***.com 1 hr 40 min \n", - "2 Reed Haddix shir***********@***.com 1 hr 46 min \n", - "3 John Hankins john**********@***.com 1 hr 38 min \n", - "4 Stephanie Jones step*******************@***.com 1 hr 48 min \n", - "\n", - " Time joined Time exited Meet Code Date \n", - "0 5:58 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", - "1 6:01 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", - "2 5:55 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", - "3 6:03 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", - "4 5:53 PM 7:41 PM kan-ptwt-ehz 07/30/2025 " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# Add columns for Meet Code & Date\n", - "Data_Jan_25_07292025[\"Meet Code\"] = \"wrt-nsga-feo\"\n", - "Data_Jan_25_07292025[\"Date\"] = \"07/29/2025\"\n", - "Web_Jan_25_07302025[\"Meet Code\"] = \"kan-ptwt-ehz\"\n", - "Web_Jan_25_07302025[\"Date\"] = \"07/30/2025\"\n", - "\n", - "attendance = [Data_Jan_25_07292025, Web_Jan_25_07302025]\n", - "for a in attendance:\n", - " display(a.head())" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "6551ff30", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
First nameLast nameEmailDurationTime joinedTime exitedMeet CodeDate
0AlexDawda*****@***.com2 hr 25 min6:01 PM8:26 PMwrt-nsga-feo07/29/2025
1AngelaMooreange*************@***.com2 hr 29 min5:59 PM8:27 PMwrt-nsga-feo07/29/2025
2BillMontgomerykyho***@***.com2 hr 27 min5:59 PM8:26 PMwrt-nsga-feo07/29/2025
3CharlesNormanario****@***.com2 hr 42 min5:45 PM8:27 PMwrt-nsga-feo07/29/2025
4ChristinaPorterchri**************@***.com2 hr 4 min6:15 PM8:19 PMwrt-nsga-feo07/29/2025
\n", - "
" - ], - "text/plain": [ - " First name Last name Email Duration Time joined \\\n", - "0 Alex D awda*****@***.com 2 hr 25 min 6:01 PM \n", - "1 Angela Moore ange*************@***.com 2 hr 29 min 5:59 PM \n", - "2 Bill Montgomery kyho***@***.com 2 hr 27 min 5:59 PM \n", - "3 Charles Norman ario****@***.com 2 hr 42 min 5:45 PM \n", - "4 Christina Porter chri**************@***.com 2 hr 4 min 6:15 PM \n", - "\n", - " Time exited Meet Code Date \n", - "0 8:26 PM wrt-nsga-feo 07/29/2025 \n", - "1 8:27 PM wrt-nsga-feo 07/29/2025 \n", - "2 8:26 PM wrt-nsga-feo 07/29/2025 \n", - "3 8:27 PM wrt-nsga-feo 07/29/2025 \n", - "4 8:19 PM wrt-nsga-feo 07/29/2025 " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# Combine the data \n", - "Students = pd.concat([Data_Jan_25_07292025, Web_Jan_25_07302025], axis = 0)\n", - "# Write df to individual CSV\n", - "Students.to_csv(\"../../data/Students.csv\", index = None, header = True)\n", - "\n", - "display(Students.head())\n", - "\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "id": "a3ee4cfa", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
First NameLast NameEmailDurationTime JoinedTime ExitedMeet CodeDate
0AlexDawda*****@***.com2 hr 25 min6:01 PM8:26 PMwrt-nsga-feo07/29/2025
1AngelaMooreange*************@***.com2 hr 29 min5:59 PM8:27 PMwrt-nsga-feo07/29/2025
2BillMontgomerykyho***@***.com2 hr 27 min5:59 PM8:26 PMwrt-nsga-feo07/29/2025
3CharlesNormanario****@***.com2 hr 42 min5:45 PM8:27 PMwrt-nsga-feo07/29/2025
4ChristinaPorterchri**************@***.com2 hr 4 min6:15 PM8:19 PMwrt-nsga-feo07/29/2025
5CindyWeddingcwed*******@***.com2 hr 22 min6:03 PM8:25 PMwrt-nsga-feo07/29/2025
6ClassroomAdminclassroom@codeyou.org1 min5:59 PM6:00 PMwrt-nsga-feo07/29/2025
7JoelAndersonjoel*************@***.com2 hr 27 min6:00 PM8:27 PMwrt-nsga-feo07/29/2025
8JonathanChadwelljona*******************@***.com2 hr 24 min6:02 PM8:26 PMwrt-nsga-feo07/29/2025
9MendellMmenm****@***.com1 hr 58 min6:00 PM8:00 PMwrt-nsga-feo07/29/2025
10OliIvanovaolga************@***.com2 hr 14 min5:59 PM8:13 PMwrt-nsga-feo07/29/2025
11S.Byrnessmby***@***.com1 hr 58 min6:02 PM8:00 PMwrt-nsga-feo07/29/2025
12Tara LeighHyltonturr******@***.com2 hr 5 min6:01 PM8:06 PMwrt-nsga-feo07/29/2025
13WhitneyParkswypa*****@***.com2 hr 38 min6:01 PM8:39 PMwrt-nsga-feo07/29/2025
14ZacharyYoungzach*************@***.com2 hr 6 min5:54 PM8:00 PMwrt-nsga-feo07/29/2025
15ZhenzhenXiexzz.**********@***.com2 hr 24 min6:01 PM8:26 PMwrt-nsga-feo07/29/2025
0SheylaDiazdshe*****@***.com1 hr 43 min5:58 PM7:41 PMkan-ptwt-ehz07/30/2025
1JamesGlosserdemo**********@***.com1 hr 40 min6:01 PM7:41 PMkan-ptwt-ehz07/30/2025
2ReedHaddixshir***********@***.com1 hr 46 min5:55 PM7:41 PMkan-ptwt-ehz07/30/2025
3JohnHankinsjohn**********@***.com1 hr 38 min6:03 PM7:41 PMkan-ptwt-ehz07/30/2025
4StephanieJonesstep*******************@***.com1 hr 48 min5:53 PM7:41 PMkan-ptwt-ehz07/30/2025
5AaronLaLibertydaei**@***.com1 hr 39 min6:02 PM7:41 PMkan-ptwt-ehz07/30/2025
6DakotaMcMullinkota****@***.com1 hr 11 min5:59 PM7:11 PMkan-ptwt-ehz07/30/2025
7Toni-IvyOwnn.toni*********@***.com1 hr 40 min6:01 PM7:41 PMkan-ptwt-ehz07/30/2025
8MichaelPuckettmich***********@***.com1 hr 37 min6:04 PM7:41 PMkan-ptwt-ehz07/30/2025
9LeightonPulliaml8on**@***.com1 hr 40 min6:00 PM7:41 PMkan-ptwt-ehz07/30/2025
10kenquigginskash************@***.com1 hr 43 min5:58 PM7:41 PMkan-ptwt-ehz07/30/2025
11AmberRatliffarat********@***.com1 hr 40 min6:01 PM7:41 PMkan-ptwt-ehz07/30/2025
12JillSchrankjust*******@***.com1 hr 41 min5:59 PM7:41 PMkan-ptwt-ehz07/30/2025
13HuanSonghuan********@***.com1 hr 43 min5:58 PM7:41 PMkan-ptwt-ehz07/30/2025
\n", - "
" - ], - "text/plain": [ - " First Name Last Name Email Duration \\\n", - "0 Alex D awda*****@***.com 2 hr 25 min \n", - "1 Angela Moore ange*************@***.com 2 hr 29 min \n", - "2 Bill Montgomery kyho***@***.com 2 hr 27 min \n", - "3 Charles Norman ario****@***.com 2 hr 42 min \n", - "4 Christina Porter chri**************@***.com 2 hr 4 min \n", - "5 Cindy Wedding cwed*******@***.com 2 hr 22 min \n", - "6 Classroom Admin classroom@codeyou.org 1 min \n", - "7 Joel Anderson joel*************@***.com 2 hr 27 min \n", - "8 Jonathan Chadwell jona*******************@***.com 2 hr 24 min \n", - "9 Mendell M menm****@***.com 1 hr 58 min \n", - "10 Oli Ivanova olga************@***.com 2 hr 14 min \n", - "11 S. Byrnes smby***@***.com 1 hr 58 min \n", - "12 Tara Leigh Hylton turr******@***.com 2 hr 5 min \n", - "13 Whitney Parks wypa*****@***.com 2 hr 38 min \n", - "14 Zachary Young zach*************@***.com 2 hr 6 min \n", - "15 Zhenzhen Xie xzz.**********@***.com 2 hr 24 min \n", - "0 Sheyla Diaz dshe*****@***.com 1 hr 43 min \n", - "1 James Glosser demo**********@***.com 1 hr 40 min \n", - "2 Reed Haddix shir***********@***.com 1 hr 46 min \n", - "3 John Hankins john**********@***.com 1 hr 38 min \n", - "4 Stephanie Jones step*******************@***.com 1 hr 48 min \n", - "5 Aaron LaLiberty daei**@***.com 1 hr 39 min \n", - "6 Dakota McMullin kota****@***.com 1 hr 11 min \n", - "7 Toni-Ivy Ownn. toni*********@***.com 1 hr 40 min \n", - "8 Michael Puckett mich***********@***.com 1 hr 37 min \n", - "9 Leighton Pulliam l8on**@***.com 1 hr 40 min \n", - "10 ken quiggins kash************@***.com 1 hr 43 min \n", - "11 Amber Ratliff arat********@***.com 1 hr 40 min \n", - "12 Jill Schrank just*******@***.com 1 hr 41 min \n", - "13 Huan Song huan********@***.com 1 hr 43 min \n", - "\n", - " Time Joined Time Exited Meet Code Date \n", - "0 6:01 PM 8:26 PM wrt-nsga-feo 07/29/2025 \n", - "1 5:59 PM 8:27 PM wrt-nsga-feo 07/29/2025 \n", - "2 5:59 PM 8:26 PM wrt-nsga-feo 07/29/2025 \n", - "3 5:45 PM 8:27 PM wrt-nsga-feo 07/29/2025 \n", - "4 6:15 PM 8:19 PM wrt-nsga-feo 07/29/2025 \n", - "5 6:03 PM 8:25 PM wrt-nsga-feo 07/29/2025 \n", - "6 5:59 PM 6:00 PM wrt-nsga-feo 07/29/2025 \n", - "7 6:00 PM 8:27 PM wrt-nsga-feo 07/29/2025 \n", - "8 6:02 PM 8:26 PM wrt-nsga-feo 07/29/2025 \n", - "9 6:00 PM 8:00 PM wrt-nsga-feo 07/29/2025 \n", - "10 5:59 PM 8:13 PM wrt-nsga-feo 07/29/2025 \n", - "11 6:02 PM 8:00 PM wrt-nsga-feo 07/29/2025 \n", - "12 6:01 PM 8:06 PM wrt-nsga-feo 07/29/2025 \n", - "13 6:01 PM 8:39 PM wrt-nsga-feo 07/29/2025 \n", - "14 5:54 PM 8:00 PM wrt-nsga-feo 07/29/2025 \n", - "15 6:01 PM 8:26 PM wrt-nsga-feo 07/29/2025 \n", - "0 5:58 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", - "1 6:01 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", - "2 5:55 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", - "3 6:03 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", - "4 5:53 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", - "5 6:02 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", - "6 5:59 PM 7:11 PM kan-ptwt-ehz 07/30/2025 \n", - "7 6:01 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", - "8 6:04 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", - "9 6:00 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", - "10 5:58 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", - "11 6:01 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", - "12 5:59 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", - "13 5:58 PM 7:41 PM kan-ptwt-ehz 07/30/2025 " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# Change column headers to string\n", - "Students.columns = [str(col) for col in Students.columns]\n", - "\n", - "# Capatalize each individual word in column header\n", - "Students.columns = Students.columns.str.title()\n", - "\n", - "display(Students)\n", - "\n" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.13.0" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} From 5f30345e3dd1340386ee48222be95bb020d81f02 Mon Sep 17 00:00:00 2001 From: leolion023 Date: Tue, 21 Oct 2025 14:03:58 -0400 Subject: [PATCH 3/4] reconcile file name changes --- src/notebook/notebook.ipynb | 230 +++++++++++++----------------------- 1 file changed, 85 insertions(+), 145 deletions(-) diff --git a/src/notebook/notebook.ipynb b/src/notebook/notebook.ipynb index fcbd97b..52b467d 100644 --- a/src/notebook/notebook.ipynb +++ b/src/notebook/notebook.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 52, + "execution_count": 9, "id": "cc02d731", "metadata": {}, "outputs": [], @@ -14,20 +14,20 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 10, "id": "5987e035", "metadata": {}, "outputs": [], "source": [ - "mentor_df = pd.read_csv('../../data/Attendance_Template_v3 - Mentors.csv')\n", - "staff_df = pd.read_csv('../../data/Attendance_Template_v3 - Staff.csv')\n", - "meeting_1 = pd.read_csv('../../data/2025-07-29 17_45 wrt-nsga-feo Attendance Report - Attendees.csv')\n", - "meeting_2 = pd.read_csv('../../data/2025-07-30 17_50 kan-ptwt-ehz Attendance Report - Attendees.csv')" + "mentor_df = pd.read_csv('../../data/Mentors.csv')\n", + "staff_df = pd.read_csv('../../data/Staff.csv')\n", + "meeting_1 = pd.read_excel('../../data/2025-07-29 17_45 wrt-nsga-feo Attendance Report.xlsx')\n", + "meeting_2 = pd.read_excel('../../data/2025-07-30 17_50 kan-ptwt-ehz Attendance Report.xlsx')" ] }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 11, "id": "886a505c", "metadata": {}, "outputs": [ @@ -56,7 +56,7 @@ "type": "unknown" } ], - "ref": "1e961b2f-9b34-49f4-9617-148ad4c8ec89", + "ref": "d48b851d-dadb-4460-86c9-28d174149c6d", "rows": [ [ "0", @@ -565,7 +565,7 @@ "35 Sunny Zanchi NaN" ] }, - "execution_count": 54, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -576,7 +576,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 12, "id": "14c2c742", "metadata": {}, "outputs": [ @@ -597,7 +597,7 @@ { "name": "Last name", "rawType": "object", - "type": "unknown" + "type": "string" }, { "name": "Alternate Name", @@ -615,7 +615,7 @@ "type": "float" } ], - "ref": "22a255a6-c9a8-4968-bb4f-877554cd8882", + "ref": "d6925467-5753-434b-a678-241e30dbb117", "rows": [ [ "0", @@ -752,27 +752,11 @@ null, null, null - ], - [ - "17", - "John Smith", - null, - null, - null, - null - ], - [ - "18", - "Klive", - null, - null, - null, - null ] ], "shape": { "columns": 5, - "rows": 19 + "rows": 17 } }, "text/html": [ @@ -938,50 +922,32 @@ " NaN\n", " NaN\n", " \n", - " \n", - " 17\n", - " John Smith\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " \n", - " \n", - " 18\n", - " Klive\n", - " NaN\n", - " NaN\n", - " NaN\n", - " NaN\n", - " \n", " \n", "\n", "" ], "text/plain": [ - " First Name Last name Alternate Name Email Region\n", - "0 Ailene Johnston NaN NaN NaN\n", - "1 Alli Rippy NaN NaN NaN\n", - "2 Amanda Gearhart NaN NaN NaN\n", - "3 August Mapp NaN NaN NaN\n", - "4 Blake Herbert NaN NaN NaN\n", - "5 Brian Luerman NaN NaN NaN\n", - "6 classroom admin NaN NaN NaN\n", - "7 Dan Collins NaN NaN NaN\n", - "8 Danny Morton NaN NaN NaN\n", - "9 David York NaN NaN NaN\n", - "10 Emily Sullivan NaN NaN NaN\n", - "11 Jared Mueller NaN NaN NaN\n", - "12 Jenny Terry NaN NaN NaN\n", - "13 Kalee Howard NaN NaN NaN\n", - "14 Rekkai Steed NaN NaN NaN\n", - "15 Shannon Sheehy NaN NaN NaN\n", - "16 Tonia Nolden NaN NaN NaN\n", - "17 John Smith NaN NaN NaN NaN\n", - "18 Klive NaN NaN NaN NaN" + " First Name Last name Alternate Name Email Region\n", + "0 Ailene Johnston NaN NaN NaN\n", + "1 Alli Rippy NaN NaN NaN\n", + "2 Amanda Gearhart NaN NaN NaN\n", + "3 August Mapp NaN NaN NaN\n", + "4 Blake Herbert NaN NaN NaN\n", + "5 Brian Luerman NaN NaN NaN\n", + "6 classroom admin NaN NaN NaN\n", + "7 Dan Collins NaN NaN NaN\n", + "8 Danny Morton NaN NaN NaN\n", + "9 David York NaN NaN NaN\n", + "10 Emily Sullivan NaN NaN NaN\n", + "11 Jared Mueller NaN NaN NaN\n", + "12 Jenny Terry NaN NaN NaN\n", + "13 Kalee Howard NaN NaN NaN\n", + "14 Rekkai Steed NaN NaN NaN\n", + "15 Shannon Sheehy NaN NaN NaN\n", + "16 Tonia Nolden NaN NaN NaN" ] }, - "execution_count": 55, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -992,7 +958,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 13, "id": "3df8b097", "metadata": {}, "outputs": [], @@ -1016,7 +982,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 14, "id": "a3b7e280", "metadata": {}, "outputs": [], @@ -1068,7 +1034,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 15, "id": "bd9d1679", "metadata": {}, "outputs": [], @@ -1092,7 +1058,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 16, "id": "c3b40f9d", "metadata": {}, "outputs": [], @@ -1137,7 +1103,7 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 17, "id": "628949fb", "metadata": {}, "outputs": [ @@ -1145,8 +1111,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "\u001b[1;31mSignature:\u001b[0m \u001b[0mclean_name_df\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdf\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mpandas\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcore\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mframe\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mDataFrame\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m->\u001b[0m \u001b[0mpandas\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcore\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mframe\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mDataFrame\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", - "\u001b[1;31mDocstring:\u001b[0m\n", + "\u001b[31mSignature:\u001b[39m clean_name_df(df: pandas.core.frame.DataFrame) -> pandas.core.frame.DataFrame\n", + "\u001b[31mDocstring:\u001b[39m\n", "Clean and standardize names for a DataFrame.\n", "\n", "Steps performed:\n", @@ -1165,8 +1131,8 @@ "-------\n", "pd.DataFrame\n", " A cleaned DataFrame with standardized columns and a 'Full Name' field.\n", - "\u001b[1;31mFile:\u001b[0m c:\\users\\leolion023\\appdata\\local\\temp\\ipykernel_59672\\4077920601.py\n", - "\u001b[1;31mType:\u001b[0m function" + "\u001b[31mFile:\u001b[39m c:\\users\\leolion023\\appdata\\local\\temp\\ipykernel_123176\\4077920601.py\n", + "\u001b[31mType:\u001b[39m function" ] } ], @@ -1176,7 +1142,7 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 18, "id": "9e6b2ba9", "metadata": {}, "outputs": [ @@ -1205,7 +1171,7 @@ "type": "string" } ], - "ref": "fe6c61ab-e4f1-40e2-863d-71bd92af124e", + "ref": "01a4a84f-e857-48a2-ac6c-8f02d7337651", "rows": [ [ "0", @@ -1308,23 +1274,11 @@ "Tonia", "Nolden", "Tonia Nolden" - ], - [ - "17", - "John", - "Smith", - "John Smith" - ], - [ - "18", - "Klive", - "Unknown", - "Klive Unknown" ] ], "shape": { "columns": 3, - "rows": 19 + "rows": 17 } }, "text/html": [ @@ -1454,18 +1408,6 @@ " Nolden\n", " Tonia Nolden\n", " \n", - " \n", - " 17\n", - " John\n", - " Smith\n", - " John Smith\n", - " \n", - " \n", - " 18\n", - " Klive\n", - " Unknown\n", - " Klive Unknown\n", - " \n", " \n", "\n", "" @@ -1488,12 +1430,10 @@ "13 Kalee Howard Kalee Howard\n", "14 Rekkai Steed Rekkai Steed\n", "15 Shannon Sheehy Shannon Sheehy\n", - "16 Tonia Nolden Tonia Nolden\n", - "17 John Smith John Smith\n", - "18 Klive Unknown Klive Unknown" + "16 Tonia Nolden Tonia Nolden" ] }, - "execution_count": 61, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -1505,7 +1445,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 19, "id": "6c86df50", "metadata": {}, "outputs": [], @@ -1515,7 +1455,7 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 20, "id": "115b41b9", "metadata": {}, "outputs": [ @@ -1544,7 +1484,7 @@ "type": "string" } ], - "ref": "6af6b282-fc16-414e-ad7f-ed6c9b10b662", + "ref": "419b9fc1-da25-4678-9002-0b53df500b33", "rows": [ [ "0", @@ -2053,7 +1993,7 @@ "35 Sunny Zanchi Sunny Zanchi" ] }, - "execution_count": 63, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -2065,7 +2005,7 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 21, "id": "74a3b369", "metadata": {}, "outputs": [ @@ -2109,7 +2049,7 @@ "type": "string" } ], - "ref": "94693d9e-2c1b-415a-882f-460903e77e18", + "ref": "d1a5bff9-9e54-4b4e-af0f-4e03144dcf0c", "rows": [ [ "0", @@ -2475,7 +2415,7 @@ "15 6:01 PM 8:26 PM " ] }, - "execution_count": 64, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -2486,7 +2426,7 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 22, "id": "00cc7690", "metadata": {}, "outputs": [ @@ -2540,7 +2480,7 @@ "type": "string" } ], - "ref": "96c6aeb8-70dd-405d-805a-348b21c4ab95", + "ref": "754c2fbc-16f7-41cc-9518-53bdb23fd325", "rows": [ [ "0", @@ -2990,7 +2930,7 @@ "15 Zhenzhen Xie " ] }, - "execution_count": 65, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -3003,7 +2943,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 23, "id": "838ca4e1", "metadata": {}, "outputs": [], @@ -3017,7 +2957,7 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 24, "id": "03fa1b54", "metadata": {}, "outputs": [ @@ -3041,7 +2981,7 @@ "type": "float" } ], - "ref": "6a0f0e25-20f4-4b04-b984-4634b9ca9e85", + "ref": "0cf2b708-c1d3-43bc-bf65-8f0f3472dcff", "rows": [ [ "0", @@ -3257,7 +3197,7 @@ "15 Zhenzhen Xie 145.0" ] }, - "execution_count": 67, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -3269,7 +3209,7 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 25, "id": "0edd39e3", "metadata": {}, "outputs": [], @@ -3291,7 +3231,7 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 26, "id": "78bfd7b7", "metadata": {}, "outputs": [ @@ -3301,7 +3241,7 @@ "Index(['Full Name', 'Duration In Minutes'], dtype='object')" ] }, - "execution_count": 69, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -3312,7 +3252,7 @@ }, { "cell_type": "code", - "execution_count": 70, + "execution_count": 27, "id": "976408a3", "metadata": {}, "outputs": [ @@ -3336,7 +3276,7 @@ "type": "float" } ], - "ref": "5f7e0092-dcb4-46ba-8ac9-88d91052ec54", + "ref": "905cda28-178c-434d-aef8-e8a5547a4b60", "rows": [ [ "0", @@ -3409,7 +3349,7 @@ "2 Christina Porter 124.0" ] }, - "execution_count": 70, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } @@ -3422,7 +3362,7 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": 28, "id": "4aed423e", "metadata": {}, "outputs": [ @@ -3446,7 +3386,7 @@ "type": "float" } ], - "ref": "2c577d97-b807-4135-8b32-9bc0947eca8b", + "ref": "d189df7b-0eb0-4d6e-9153-5ae7582fd3c8", "rows": [ [ "0", @@ -3497,7 +3437,7 @@ "0 Classroom Admin 1.0" ] }, - "execution_count": 71, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } @@ -3510,7 +3450,7 @@ }, { "cell_type": "code", - "execution_count": 72, + "execution_count": 29, "id": "2bfdd92e", "metadata": {}, "outputs": [ @@ -3534,7 +3474,7 @@ "type": "float" } ], - "ref": "5bf4bf82-4e69-499e-ae22-96cf024622e1", + "ref": "4ed2bca1-3399-4123-9c07-035b5205d79f", "rows": [ [ "0", @@ -3728,7 +3668,7 @@ "13 Huan Song 103.0" ] }, - "execution_count": 72, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } @@ -3740,7 +3680,7 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": 30, "id": "b489007c", "metadata": {}, "outputs": [ @@ -3764,7 +3704,7 @@ "type": "float" } ], - "ref": "976368be-ed62-493b-aa3f-c5d6755b1ac8", + "ref": "9891fe4f-cc39-4f20-997b-483cccd81063", "rows": [ [ "0", @@ -3826,7 +3766,7 @@ "1 Michael Puckett 97.0" ] }, - "execution_count": 73, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } @@ -3839,7 +3779,7 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 31, "id": "20023162", "metadata": {}, "outputs": [ @@ -3863,7 +3803,7 @@ "type": "float" } ], - "ref": "a1085e69-3fdf-446d-bfa9-296ef7f6b0a0", + "ref": "e061b667-b614-48a6-9380-e74e5eec7567", "rows": [], "shape": { "columns": 2, @@ -3904,7 +3844,7 @@ "Index: []" ] }, - "execution_count": 74, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -3917,7 +3857,7 @@ }, { "cell_type": "code", - "execution_count": 75, + "execution_count": 32, "id": "b88830f9", "metadata": {}, "outputs": [], @@ -3940,7 +3880,7 @@ }, { "cell_type": "code", - "execution_count": 76, + "execution_count": 33, "id": "205ddadf", "metadata": {}, "outputs": [ @@ -3964,7 +3904,7 @@ "type": "float" } ], - "ref": "9078f185-1d69-4c12-b0b1-922767f1117b", + "ref": "4d261239-c17a-4429-b3b4-fb2876c075ab", "rows": [ [ "1", @@ -4136,7 +4076,7 @@ "15 Zhenzhen Xie 145.0" ] }, - "execution_count": 76, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -4148,7 +4088,7 @@ }, { "cell_type": "code", - "execution_count": 78, + "execution_count": 34, "id": "d21aae8a", "metadata": {}, "outputs": [ @@ -4172,7 +4112,7 @@ "type": "float" } ], - "ref": "f52c6f68-8230-4454-bd5c-aa008981772c", + "ref": "c71a050a-072d-40bc-aaf6-62fc97e49cb9", "rows": [ [ "0", @@ -4344,7 +4284,7 @@ "13 Huan Song 103.0" ] }, - "execution_count": 78, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } From 189e9bc9e7e5d3ed118baa04ec094bca8f39e0a8 Mon Sep 17 00:00:00 2001 From: leolion023 Date: Tue, 18 Nov 2025 15:21:00 -0500 Subject: [PATCH 4/4] student present list --- src/notebook/notebook.ipynb | 6129 ++++++++++++++++++++++++----------- 1 file changed, 4281 insertions(+), 1848 deletions(-) diff --git a/src/notebook/notebook.ipynb b/src/notebook/notebook.ipynb index 52b467d..79ca2e1 100644 --- a/src/notebook/notebook.ipynb +++ b/src/notebook/notebook.ipynb @@ -2,19 +2,20 @@ "cells": [ { "cell_type": "code", - "execution_count": 9, + "execution_count": 1, "id": "cc02d731", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", - "from typing import List, Optional" + "from typing import List, Optional\n", + "import re" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 2, "id": "5987e035", "metadata": {}, "outputs": [], @@ -22,12 +23,14 @@ "mentor_df = pd.read_csv('../../data/Mentors.csv')\n", "staff_df = pd.read_csv('../../data/Staff.csv')\n", "meeting_1 = pd.read_excel('../../data/2025-07-29 17_45 wrt-nsga-feo Attendance Report.xlsx')\n", - "meeting_2 = pd.read_excel('../../data/2025-07-30 17_50 kan-ptwt-ehz Attendance Report.xlsx')" + "meeting_2 = pd.read_excel('../../data/2025-07-30 17_50 kan-ptwt-ehz Attendance Report.xlsx')\n", + "student_df = pd.read_csv('../../data/Students.csv')\n", + "meet_code_df = pd.read_csv('../../data/MeetCodes.csv')" ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 3, "id": "886a505c", "metadata": {}, "outputs": [ @@ -56,7 +59,7 @@ "type": "unknown" } ], - "ref": "d48b851d-dadb-4460-86c9-28d174149c6d", + "ref": "990b1f7e-472c-422a-9694-dd23615366a9", "rows": [ [ "0", @@ -565,7 +568,7 @@ "35 Sunny Zanchi NaN" ] }, - "execution_count": 11, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -576,7 +579,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 4, "id": "14c2c742", "metadata": {}, "outputs": [ @@ -615,7 +618,7 @@ "type": "float" } ], - "ref": "d6925467-5753-434b-a678-241e30dbb117", + "ref": "1c151f04-d4d4-403c-8e8d-bda119b5e2f4", "rows": [ [ "0", @@ -947,7 +950,7 @@ "16 Tonia Nolden NaN NaN NaN" ] }, - "execution_count": 12, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -958,192 +961,8 @@ }, { "cell_type": "code", - "execution_count": 13, - "id": "3df8b097", - "metadata": {}, - "outputs": [], - "source": [ - "def keep_name(df: pd.DataFrame) -> pd.DataFrame:\n", - " \"\"\"\n", - " Titles columns in a DataFrame and drops all other columns that is not the 'First Name' and 'Last Name'.\n", - "\n", - " Args:\n", - " df (pd.DataFrame): A data frame containing at least 'First Name' and 'Last Name' columns.\n", - "\n", - " Returns:\n", - " pd.DataFrame: A Data Frame with only the 'First Name' and 'Last Name' Columns\n", - " \"\"\"\n", - " df.columns = df.columns.str.title()\n", - " df['First Name'] = df['First Name'].str.title()\n", - " df['Last Name'] = df['Last Name'].str.title()\n", - " col_to_keep = ['First Name', 'Last Name']\n", - " return df[col_to_keep].copy()" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "a3b7e280", - "metadata": {}, - "outputs": [], - "source": [ - "def process_meeting_times(df: pd.DataFrame) -> pd.DataFrame:\n", - " \"\"\"\n", - " Standardize meeting time columns and calculate duration.\n", - "\n", - " Steps performed:\n", - " 1. Converts 'Time Joined' and 'Time Exited' columns to datetime objects.\n", - " 2. Calculates the meeting duration in minutes and stores it in 'Duration in Minutes'.\n", - "\n", - " Parameters\n", - " ----------\n", - " df : pd.DataFrame\n", - " DataFrame containing meeting data with 'Time Joined' and 'Time Exited' columns.\n", - "\n", - " Returns\n", - " -------\n", - " pd.DataFrame\n", - " Updated DataFrame with time columns as datetime and a duration column.\n", - " \"\"\"\n", - " df.columns = df.columns.str.title()\n", - " df['Time Joined'] = pd.to_datetime(df['Time Joined'], format='%I:%M %p', errors='coerce')\n", - " df['Time Exited'] = pd.to_datetime(df['Time Exited'], format='%I:%M %p', errors='coerce')\n", - " df['Duration In Minutes'] = (\n", - " df['Time Exited'] - df['Time Joined']\n", - " ).dt.total_seconds() / 60\n", - " return df\n", - "\n", - "\n", - "def add_full_name(df: pd.DataFrame) -> pd.DataFrame:\n", - " \"\"\"\n", - " Add a 'Full Name' column by combining 'First Name' and 'Last Name'.\n", - "\n", - " Parameters\n", - " ----------\n", - " df : pd.DataFrame\n", - " DataFrame containing 'First Name' and 'Last Name' columns.\n", - "\n", - " Returns\n", - " -------\n", - " pd.DataFrame\n", - " DataFrame with a new 'Full Name' column.\n", - " \"\"\"\n", - " df['Full Name'] = df['First Name'].str.title() + ' ' + df['Last Name'].str.title()\n", - " return df" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "bd9d1679", - "metadata": {}, - "outputs": [], - "source": [ - "def split_names(df: pd.DataFrame) -> pd.DataFrame:\n", - " \"\"\"Function accounting for instance where first name column contains more than just the first name\n", - "\n", - " Args:\n", - " df (pd.DataFrame): DataFrame that needs to be checked for more than one name in first name\n", - "\n", - " Returns:\n", - " pd.DataFrame: DataFrame containing only the first name in the first name column and fills the last name column with the last name\n", - " \"\"\"\n", - " if ' ' in df['First Name']:\n", - " names = df['First Name'].split()\n", - " if len(names) >= 2:\n", - " df['First Name'] = names[0]\n", - " df['Last Name'] = names[-1]\n", - " return df" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "c3b40f9d", - "metadata": {}, - "outputs": [], - "source": [ - "def clean_name_df(df: pd.DataFrame) -> pd.DataFrame:\n", - " \"\"\"\n", - " Clean and standardize names for a DataFrame.\n", - "\n", - " Steps performed:\n", - " 1. Capitalizes column names for consistency.\n", - " 2. Drops all comlumns that are not 'Fist Name' or 'Last Name'\n", - " 3. Fill null values in name columns.\n", - " 4. Accounts for instance where 'First Name' contains 'Last Name'\n", - " 5. Creates a 'Full Name' column by combining 'First Name' and 'Last Name'.\n", - "\n", - " Parameters\n", - " ----------\n", - " df : pd.DataFrame\n", - " Input DataFrame containing name data.\n", - "\n", - " Returns\n", - " -------\n", - " pd.DataFrame\n", - " A cleaned DataFrame with standardized columns and a 'Full Name' field.\n", - " \"\"\"\n", - " df = keep_name(df)\n", - " if df.isna().any().any() == True:\n", - " df = df.fillna('Unknown')\n", - " df = df.apply(split_names, 1) \n", - " df = add_full_name(df)\n", - "\n", - " return df" - ] - }, - { - "cell_type": "markdown", - "id": "be9d8721", - "metadata": {}, - "source": [ - "Gives us info on the function from the doc string" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "628949fb", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\u001b[31mSignature:\u001b[39m clean_name_df(df: pandas.core.frame.DataFrame) -> pandas.core.frame.DataFrame\n", - "\u001b[31mDocstring:\u001b[39m\n", - "Clean and standardize names for a DataFrame.\n", - "\n", - "Steps performed:\n", - "1. Capitalizes column names for consistency.\n", - "2. Drops all comlumns that are not 'Fist Name' or 'Last Name'\n", - "3. Fill null values in name columns.\n", - "4. Accounts for instance where 'First Name' contains 'Last Name'\n", - "5. Creates a 'Full Name' column by combining 'First Name' and 'Last Name'.\n", - "\n", - "Parameters\n", - "----------\n", - "df : pd.DataFrame\n", - " Input DataFrame containing name data.\n", - "\n", - "Returns\n", - "-------\n", - "pd.DataFrame\n", - " A cleaned DataFrame with standardized columns and a 'Full Name' field.\n", - "\u001b[31mFile:\u001b[39m c:\\users\\leolion023\\appdata\\local\\temp\\ipykernel_123176\\4077920601.py\n", - "\u001b[31mType:\u001b[39m function" - ] - } - ], - "source": [ - "clean_name_df?" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "9e6b2ba9", + "execution_count": 5, + "id": "fa0a3823", "metadata": {}, "outputs": [ { @@ -1156,129 +975,382 @@ "type": "integer" }, { - "name": "First Name", + "name": "First name", "rawType": "object", "type": "string" }, { - "name": "Last Name", + "name": "Last name", "rawType": "object", "type": "string" }, { - "name": "Full Name", + "name": "Email", + "rawType": "object", + "type": "string" + }, + { + "name": "Duration", + "rawType": "object", + "type": "string" + }, + { + "name": "Time joined", + "rawType": "object", + "type": "string" + }, + { + "name": "Time exited", + "rawType": "object", + "type": "string" + }, + { + "name": "Meet Code", + "rawType": "object", + "type": "string" + }, + { + "name": "Date", "rawType": "object", "type": "string" } ], - "ref": "01a4a84f-e857-48a2-ac6c-8f02d7337651", + "ref": "7eb8e902-62c5-434a-ac34-2757cf11190a", "rows": [ [ "0", - "Ailene", - "Johnston", - "Ailene Johnston" + "Alex", + "D", + "awda*****@***.com", + "2 hr 25 min", + "6:01 PM", + "8:26 PM", + "wrt-nsga-feo", + "07/29/2025" ], [ "1", - "Alli", - "Rippy", - "Alli Rippy" + "Angela", + "Moore", + "ange*************@***.com", + "2 hr 29 min", + "5:59 PM", + "8:27 PM", + "wrt-nsga-feo", + "07/29/2025" ], [ "2", - "Amanda ", - "Gearhart", - "Amanda Gearhart" + "Bill", + "Montgomery", + "kyho***@***.com", + "2 hr 27 min", + "5:59 PM", + "8:26 PM", + "wrt-nsga-feo", + "07/29/2025" ], [ "3", - "August", - "Mapp", - "August Mapp" + "Charles", + "Norman", + "ario****@***.com", + "2 hr 42 min", + "5:45 PM", + "8:27 PM", + "wrt-nsga-feo", + "07/29/2025" ], [ "4", - "Blake", - "Herbert", - "Blake Herbert" + "Christina", + "Porter", + "chri**************@***.com", + "2 hr 4 min", + "6:15 PM", + "8:19 PM", + "wrt-nsga-feo", + "07/29/2025" ], [ "5", - "Brian ", - "Luerman", - "Brian Luerman" + "Cindy", + "Wedding", + "cwed*******@***.com", + "2 hr 22 min", + "6:03 PM", + "8:25 PM", + "wrt-nsga-feo", + "07/29/2025" ], [ "6", "Classroom", "Admin", - "Classroom Admin" + "classroom@codeyou.org", + "1 min", + "5:59 PM", + "6:00 PM", + "wrt-nsga-feo", + "07/29/2025" ], [ "7", - "Dan", - "Collins", - "Dan Collins" + "Joel", + "Anderson", + "joel*************@***.com", + "2 hr 27 min", + "6:00 PM", + "8:27 PM", + "wrt-nsga-feo", + "07/29/2025" ], [ "8", - "Danny", - "Morton", - "Danny Morton" + "Jonathan", + "Chadwell", + "jona*******************@***.com", + "2 hr 24 min", + "6:02 PM", + "8:26 PM", + "wrt-nsga-feo", + "07/29/2025" ], [ "9", - "David", - "York", - "David York" + "Mendell", + "M", + "menm****@***.com", + "1 hr 58 min", + "6:00 PM", + "8:00 PM", + "wrt-nsga-feo", + "07/29/2025" ], [ "10", - "Emily", - "Sullivan", - "Emily Sullivan" + "Oli", + "Ivanova", + "olga************@***.com", + "2 hr 14 min", + "5:59 PM", + "8:13 PM", + "wrt-nsga-feo", + "07/29/2025" ], [ "11", - "Jared", - "Mueller", - "Jared Mueller" + "S.", + "Byrnes", + "smby***@***.com", + "1 hr 58 min", + "6:02 PM", + "8:00 PM", + "wrt-nsga-feo", + "07/29/2025" ], [ "12", - "Jenny", - "Terry", - "Jenny Terry" + "Tara Leigh", + "Hylton", + "turr******@***.com", + "2 hr 5 min", + "6:01 PM", + "8:06 PM", + "wrt-nsga-feo", + "07/29/2025" ], [ "13", - "Kalee", - "Howard", - "Kalee Howard" + "Whitney", + "Parks", + "wypa*****@***.com", + "2 hr 38 min", + "6:01 PM", + "8:39 PM", + "wrt-nsga-feo", + "07/29/2025" ], [ "14", - "Rekkai", - "Steed", - "Rekkai Steed" + "Zachary", + "Young", + "zach*************@***.com", + "2 hr 6 min", + "5:54 PM", + "8:00 PM", + "wrt-nsga-feo", + "07/29/2025" ], [ "15", - "Shannon", - "Sheehy", - "Shannon Sheehy" + "Zhenzhen", + "Xie", + "xzz.**********@***.com", + "2 hr 24 min", + "6:01 PM", + "8:26 PM", + "wrt-nsga-feo", + "07/29/2025" ], [ "16", - "Tonia", - "Nolden", - "Tonia Nolden" + "Sheyla", + "Diaz", + "dshe*****@***.com", + "1 hr 43 min", + "5:58 PM", + "7:41 PM", + "kan-ptwt-ehz", + "07/30/2025" + ], + [ + "17", + "James", + "Glosser", + "demo**********@***.com", + "1 hr 40 min", + "6:01 PM", + "7:41 PM", + "kan-ptwt-ehz", + "07/30/2025" + ], + [ + "18", + "Reed", + "Haddix", + "shir***********@***.com", + "1 hr 46 min", + "5:55 PM", + "7:41 PM", + "kan-ptwt-ehz", + "07/30/2025" + ], + [ + "19", + "John", + "Hankins", + "john**********@***.com", + "1 hr 38 min", + "6:03 PM", + "7:41 PM", + "kan-ptwt-ehz", + "07/30/2025" + ], + [ + "20", + "Stephanie", + "Jones", + "step*******************@***.com", + "1 hr 48 min", + "5:53 PM", + "7:41 PM", + "kan-ptwt-ehz", + "07/30/2025" + ], + [ + "21", + "Aaron", + "LaLiberty", + "daei**@***.com", + "1 hr 39 min", + "6:02 PM", + "7:41 PM", + "kan-ptwt-ehz", + "07/30/2025" + ], + [ + "22", + "Dakota", + "McMullin", + "kota****@***.com", + "1 hr 11 min", + "5:59 PM", + "7:11 PM", + "kan-ptwt-ehz", + "07/30/2025" + ], + [ + "23", + "Toni-Ivy", + "Ownn.", + "toni*********@***.com", + "1 hr 40 min", + "6:01 PM", + "7:41 PM", + "kan-ptwt-ehz", + "07/30/2025" + ], + [ + "24", + "Michael", + "Puckett", + "mich***********@***.com", + "1 hr 37 min", + "6:04 PM", + "7:41 PM", + "kan-ptwt-ehz", + "07/30/2025" + ], + [ + "25", + "Leighton", + "Pulliam", + "l8on**@***.com", + "1 hr 40 min", + "6:00 PM", + "7:41 PM", + "kan-ptwt-ehz", + "07/30/2025" + ], + [ + "26", + "ken", + "quiggins", + "kash************@***.com", + "1 hr 43 min", + "5:58 PM", + "7:41 PM", + "kan-ptwt-ehz", + "07/30/2025" + ], + [ + "27", + "Amber", + "Ratliff", + "arat********@***.com", + "1 hr 40 min", + "6:01 PM", + "7:41 PM", + "kan-ptwt-ehz", + "07/30/2025" + ], + [ + "28", + "Jill", + "Schrank", + "just*******@***.com", + "1 hr 41 min", + "5:59 PM", + "7:41 PM", + "kan-ptwt-ehz", + "07/30/2025" + ], + [ + "29", + "Huan", + "Song", + "huan********@***.com", + "1 hr 43 min", + "5:58 PM", + "7:41 PM", + "kan-ptwt-ehz", + "07/30/2025" ] ], "shape": { - "columns": 3, - "rows": 17 + "columns": 8, + "rows": 30 } }, "text/html": [ @@ -1300,163 +1372,430 @@ " \n", " \n", " \n", - " First Name\n", - " Last Name\n", - " Full Name\n", + " First name\n", + " Last name\n", + " Email\n", + " Duration\n", + " Time joined\n", + " Time exited\n", + " Meet Code\n", + " Date\n", " \n", " \n", " \n", " \n", " 0\n", - " Ailene\n", - " Johnston\n", - " Ailene Johnston\n", + " Alex\n", + " D\n", + " awda*****@***.com\n", + " 2 hr 25 min\n", + " 6:01 PM\n", + " 8:26 PM\n", + " wrt-nsga-feo\n", + " 07/29/2025\n", " \n", " \n", " 1\n", - " Alli\n", - " Rippy\n", - " Alli Rippy\n", + " Angela\n", + " Moore\n", + " ange*************@***.com\n", + " 2 hr 29 min\n", + " 5:59 PM\n", + " 8:27 PM\n", + " wrt-nsga-feo\n", + " 07/29/2025\n", " \n", " \n", " 2\n", - " Amanda\n", - " Gearhart\n", - " Amanda Gearhart\n", + " Bill\n", + " Montgomery\n", + " kyho***@***.com\n", + " 2 hr 27 min\n", + " 5:59 PM\n", + " 8:26 PM\n", + " wrt-nsga-feo\n", + " 07/29/2025\n", " \n", " \n", " 3\n", - " August\n", - " Mapp\n", - " August Mapp\n", + " Charles\n", + " Norman\n", + " ario****@***.com\n", + " 2 hr 42 min\n", + " 5:45 PM\n", + " 8:27 PM\n", + " wrt-nsga-feo\n", + " 07/29/2025\n", " \n", " \n", " 4\n", - " Blake\n", - " Herbert\n", - " Blake Herbert\n", + " Christina\n", + " Porter\n", + " chri**************@***.com\n", + " 2 hr 4 min\n", + " 6:15 PM\n", + " 8:19 PM\n", + " wrt-nsga-feo\n", + " 07/29/2025\n", " \n", " \n", " 5\n", - " Brian\n", - " Luerman\n", - " Brian Luerman\n", + " Cindy\n", + " Wedding\n", + " cwed*******@***.com\n", + " 2 hr 22 min\n", + " 6:03 PM\n", + " 8:25 PM\n", + " wrt-nsga-feo\n", + " 07/29/2025\n", " \n", " \n", " 6\n", " Classroom\n", " Admin\n", - " Classroom Admin\n", + " classroom@codeyou.org\n", + " 1 min\n", + " 5:59 PM\n", + " 6:00 PM\n", + " wrt-nsga-feo\n", + " 07/29/2025\n", " \n", " \n", " 7\n", - " Dan\n", - " Collins\n", - " Dan Collins\n", + " Joel\n", + " Anderson\n", + " joel*************@***.com\n", + " 2 hr 27 min\n", + " 6:00 PM\n", + " 8:27 PM\n", + " wrt-nsga-feo\n", + " 07/29/2025\n", " \n", " \n", " 8\n", - " Danny\n", - " Morton\n", - " Danny Morton\n", + " Jonathan\n", + " Chadwell\n", + " jona*******************@***.com\n", + " 2 hr 24 min\n", + " 6:02 PM\n", + " 8:26 PM\n", + " wrt-nsga-feo\n", + " 07/29/2025\n", " \n", " \n", " 9\n", - " David\n", - " York\n", - " David York\n", + " Mendell\n", + " M\n", + " menm****@***.com\n", + " 1 hr 58 min\n", + " 6:00 PM\n", + " 8:00 PM\n", + " wrt-nsga-feo\n", + " 07/29/2025\n", " \n", " \n", " 10\n", - " Emily\n", - " Sullivan\n", - " Emily Sullivan\n", + " Oli\n", + " Ivanova\n", + " olga************@***.com\n", + " 2 hr 14 min\n", + " 5:59 PM\n", + " 8:13 PM\n", + " wrt-nsga-feo\n", + " 07/29/2025\n", " \n", " \n", " 11\n", - " Jared\n", - " Mueller\n", - " Jared Mueller\n", + " S.\n", + " Byrnes\n", + " smby***@***.com\n", + " 1 hr 58 min\n", + " 6:02 PM\n", + " 8:00 PM\n", + " wrt-nsga-feo\n", + " 07/29/2025\n", " \n", " \n", " 12\n", - " Jenny\n", - " Terry\n", - " Jenny Terry\n", + " Tara Leigh\n", + " Hylton\n", + " turr******@***.com\n", + " 2 hr 5 min\n", + " 6:01 PM\n", + " 8:06 PM\n", + " wrt-nsga-feo\n", + " 07/29/2025\n", " \n", " \n", " 13\n", - " Kalee\n", - " Howard\n", - " Kalee Howard\n", + " Whitney\n", + " Parks\n", + " wypa*****@***.com\n", + " 2 hr 38 min\n", + " 6:01 PM\n", + " 8:39 PM\n", + " wrt-nsga-feo\n", + " 07/29/2025\n", " \n", " \n", " 14\n", - " Rekkai\n", - " Steed\n", - " Rekkai Steed\n", + " Zachary\n", + " Young\n", + " zach*************@***.com\n", + " 2 hr 6 min\n", + " 5:54 PM\n", + " 8:00 PM\n", + " wrt-nsga-feo\n", + " 07/29/2025\n", " \n", " \n", " 15\n", - " Shannon\n", - " Sheehy\n", - " Shannon Sheehy\n", + " Zhenzhen\n", + " Xie\n", + " xzz.**********@***.com\n", + " 2 hr 24 min\n", + " 6:01 PM\n", + " 8:26 PM\n", + " wrt-nsga-feo\n", + " 07/29/2025\n", " \n", " \n", " 16\n", - " Tonia\n", - " Nolden\n", - " Tonia Nolden\n", + " Sheyla\n", + " Diaz\n", + " dshe*****@***.com\n", + " 1 hr 43 min\n", + " 5:58 PM\n", + " 7:41 PM\n", + " kan-ptwt-ehz\n", + " 07/30/2025\n", + " \n", + " \n", + " 17\n", + " James\n", + " Glosser\n", + " demo**********@***.com\n", + " 1 hr 40 min\n", + " 6:01 PM\n", + " 7:41 PM\n", + " kan-ptwt-ehz\n", + " 07/30/2025\n", + " \n", + " \n", + " 18\n", + " Reed\n", + " Haddix\n", + " shir***********@***.com\n", + " 1 hr 46 min\n", + " 5:55 PM\n", + " 7:41 PM\n", + " kan-ptwt-ehz\n", + " 07/30/2025\n", + " \n", + " \n", + " 19\n", + " John\n", + " Hankins\n", + " john**********@***.com\n", + " 1 hr 38 min\n", + " 6:03 PM\n", + " 7:41 PM\n", + " kan-ptwt-ehz\n", + " 07/30/2025\n", + " \n", + " \n", + " 20\n", + " Stephanie\n", + " Jones\n", + " step*******************@***.com\n", + " 1 hr 48 min\n", + " 5:53 PM\n", + " 7:41 PM\n", + " kan-ptwt-ehz\n", + " 07/30/2025\n", + " \n", + " \n", + " 21\n", + " Aaron\n", + " LaLiberty\n", + " daei**@***.com\n", + " 1 hr 39 min\n", + " 6:02 PM\n", + " 7:41 PM\n", + " kan-ptwt-ehz\n", + " 07/30/2025\n", + " \n", + " \n", + " 22\n", + " Dakota\n", + " McMullin\n", + " kota****@***.com\n", + " 1 hr 11 min\n", + " 5:59 PM\n", + " 7:11 PM\n", + " kan-ptwt-ehz\n", + " 07/30/2025\n", + " \n", + " \n", + " 23\n", + " Toni-Ivy\n", + " Ownn.\n", + " toni*********@***.com\n", + " 1 hr 40 min\n", + " 6:01 PM\n", + " 7:41 PM\n", + " kan-ptwt-ehz\n", + " 07/30/2025\n", + " \n", + " \n", + " 24\n", + " Michael\n", + " Puckett\n", + " mich***********@***.com\n", + " 1 hr 37 min\n", + " 6:04 PM\n", + " 7:41 PM\n", + " kan-ptwt-ehz\n", + " 07/30/2025\n", + " \n", + " \n", + " 25\n", + " Leighton\n", + " Pulliam\n", + " l8on**@***.com\n", + " 1 hr 40 min\n", + " 6:00 PM\n", + " 7:41 PM\n", + " kan-ptwt-ehz\n", + " 07/30/2025\n", + " \n", + " \n", + " 26\n", + " ken\n", + " quiggins\n", + " kash************@***.com\n", + " 1 hr 43 min\n", + " 5:58 PM\n", + " 7:41 PM\n", + " kan-ptwt-ehz\n", + " 07/30/2025\n", + " \n", + " \n", + " 27\n", + " Amber\n", + " Ratliff\n", + " arat********@***.com\n", + " 1 hr 40 min\n", + " 6:01 PM\n", + " 7:41 PM\n", + " kan-ptwt-ehz\n", + " 07/30/2025\n", + " \n", + " \n", + " 28\n", + " Jill\n", + " Schrank\n", + " just*******@***.com\n", + " 1 hr 41 min\n", + " 5:59 PM\n", + " 7:41 PM\n", + " kan-ptwt-ehz\n", + " 07/30/2025\n", + " \n", + " \n", + " 29\n", + " Huan\n", + " Song\n", + " huan********@***.com\n", + " 1 hr 43 min\n", + " 5:58 PM\n", + " 7:41 PM\n", + " kan-ptwt-ehz\n", + " 07/30/2025\n", " \n", " \n", "\n", "" ], "text/plain": [ - " First Name Last Name Full Name\n", - "0 Ailene Johnston Ailene Johnston\n", - "1 Alli Rippy Alli Rippy\n", - "2 Amanda Gearhart Amanda Gearhart\n", - "3 August Mapp August Mapp\n", - "4 Blake Herbert Blake Herbert\n", - "5 Brian Luerman Brian Luerman\n", - "6 Classroom Admin Classroom Admin\n", - "7 Dan Collins Dan Collins\n", - "8 Danny Morton Danny Morton\n", - "9 David York David York\n", - "10 Emily Sullivan Emily Sullivan\n", - "11 Jared Mueller Jared Mueller\n", - "12 Jenny Terry Jenny Terry\n", - "13 Kalee Howard Kalee Howard\n", - "14 Rekkai Steed Rekkai Steed\n", - "15 Shannon Sheehy Shannon Sheehy\n", - "16 Tonia Nolden Tonia Nolden" + " First name Last name Email Duration \\\n", + "0 Alex D awda*****@***.com 2 hr 25 min \n", + "1 Angela Moore ange*************@***.com 2 hr 29 min \n", + "2 Bill Montgomery kyho***@***.com 2 hr 27 min \n", + "3 Charles Norman ario****@***.com 2 hr 42 min \n", + "4 Christina Porter chri**************@***.com 2 hr 4 min \n", + "5 Cindy Wedding cwed*******@***.com 2 hr 22 min \n", + "6 Classroom Admin classroom@codeyou.org 1 min \n", + "7 Joel Anderson joel*************@***.com 2 hr 27 min \n", + "8 Jonathan Chadwell jona*******************@***.com 2 hr 24 min \n", + "9 Mendell M menm****@***.com 1 hr 58 min \n", + "10 Oli Ivanova olga************@***.com 2 hr 14 min \n", + "11 S. Byrnes smby***@***.com 1 hr 58 min \n", + "12 Tara Leigh Hylton turr******@***.com 2 hr 5 min \n", + "13 Whitney Parks wypa*****@***.com 2 hr 38 min \n", + "14 Zachary Young zach*************@***.com 2 hr 6 min \n", + "15 Zhenzhen Xie xzz.**********@***.com 2 hr 24 min \n", + "16 Sheyla Diaz dshe*****@***.com 1 hr 43 min \n", + "17 James Glosser demo**********@***.com 1 hr 40 min \n", + "18 Reed Haddix shir***********@***.com 1 hr 46 min \n", + "19 John Hankins john**********@***.com 1 hr 38 min \n", + "20 Stephanie Jones step*******************@***.com 1 hr 48 min \n", + "21 Aaron LaLiberty daei**@***.com 1 hr 39 min \n", + "22 Dakota McMullin kota****@***.com 1 hr 11 min \n", + "23 Toni-Ivy Ownn. toni*********@***.com 1 hr 40 min \n", + "24 Michael Puckett mich***********@***.com 1 hr 37 min \n", + "25 Leighton Pulliam l8on**@***.com 1 hr 40 min \n", + "26 ken quiggins kash************@***.com 1 hr 43 min \n", + "27 Amber Ratliff arat********@***.com 1 hr 40 min \n", + "28 Jill Schrank just*******@***.com 1 hr 41 min \n", + "29 Huan Song huan********@***.com 1 hr 43 min \n", + "\n", + " Time joined Time exited Meet Code Date \n", + "0 6:01 PM 8:26 PM wrt-nsga-feo 07/29/2025 \n", + "1 5:59 PM 8:27 PM wrt-nsga-feo 07/29/2025 \n", + "2 5:59 PM 8:26 PM wrt-nsga-feo 07/29/2025 \n", + "3 5:45 PM 8:27 PM wrt-nsga-feo 07/29/2025 \n", + "4 6:15 PM 8:19 PM wrt-nsga-feo 07/29/2025 \n", + "5 6:03 PM 8:25 PM wrt-nsga-feo 07/29/2025 \n", + "6 5:59 PM 6:00 PM wrt-nsga-feo 07/29/2025 \n", + "7 6:00 PM 8:27 PM wrt-nsga-feo 07/29/2025 \n", + "8 6:02 PM 8:26 PM wrt-nsga-feo 07/29/2025 \n", + "9 6:00 PM 8:00 PM wrt-nsga-feo 07/29/2025 \n", + "10 5:59 PM 8:13 PM wrt-nsga-feo 07/29/2025 \n", + "11 6:02 PM 8:00 PM wrt-nsga-feo 07/29/2025 \n", + "12 6:01 PM 8:06 PM wrt-nsga-feo 07/29/2025 \n", + "13 6:01 PM 8:39 PM wrt-nsga-feo 07/29/2025 \n", + "14 5:54 PM 8:00 PM wrt-nsga-feo 07/29/2025 \n", + "15 6:01 PM 8:26 PM wrt-nsga-feo 07/29/2025 \n", + "16 5:58 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", + "17 6:01 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", + "18 5:55 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", + "19 6:03 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", + "20 5:53 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", + "21 6:02 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", + "22 5:59 PM 7:11 PM kan-ptwt-ehz 07/30/2025 \n", + "23 6:01 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", + "24 6:04 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", + "25 6:00 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", + "26 5:58 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", + "27 6:01 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", + "28 5:59 PM 7:41 PM kan-ptwt-ehz 07/30/2025 \n", + "29 5:58 PM 7:41 PM kan-ptwt-ehz 07/30/2025 " ] }, - "execution_count": 18, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "staff_list = clean_name_df(staff_df)\n", - "staff_list" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "6c86df50", - "metadata": {}, - "outputs": [], - "source": [ - "##clean_mentor_df?" + "student_df" ] }, { "cell_type": "code", - "execution_count": 20, - "id": "115b41b9", + "execution_count": 6, + "id": "67a42f4f", "metadata": {}, "outputs": [ { @@ -1469,243 +1808,95 @@ "type": "integer" }, { - "name": "First Name", + "name": "Meet Code", "rawType": "object", "type": "string" }, { - "name": "Last Name", + "name": "Class Name", "rawType": "object", "type": "string" }, { - "name": "Full Name", + "name": "Cohort", + "rawType": "object", + "type": "unknown" + }, + { + "name": "Start Date", "rawType": "object", "type": "string" } ], - "ref": "419b9fc1-da25-4678-9002-0b53df500b33", + "ref": "c55c954b-f59e-42c2-8811-aa496f55db1e", "rows": [ [ "0", - "Alex", - "D", - "Alex D" + "xyk-dtsj-kpz", + "Intro May 25", + "2025-05-25", + "2025-07-14" ], [ "1", - "Annaleya", - "Hamilton", - "Annaleya Hamilton" + "wrt-nsga-feo", + "Data Jan 25", + "2025-01-25", + "2025-07-14" ], [ "2", - "Austin", - "Reading", - "Austin Reading" + "kan-ptwt-ehz", + "Web Jan 25", + "2025-01-25", + "2025-07-14" ], [ "3", - "Barbara", - "Adkins", - "Barbara Adkins" + "ecg-nndy-umh", + "AI Jan 25", + "2025-01-25", + "2025-06-09" ], [ "4", - "Bill", - "Montgomery", - "Bill Montgomery" + "hhn-uwtt-vsa", + "Mentor", + null, + "2025-07-01" ], [ "5", - "Blare", - "Robinson", - "Blare Robinson" + "rna-gvmc-zds", + "Monday Night Speaker", + null, + "2025-07-01" ], [ "6", - "Chris", - "Metcalfe", - "Chris Metcalfe" + "gfq-aghr-gbi", + "Web May 25", + "2025-05-25", + "2025-07-14" ], [ "7", - "Chris ", - "Kaelin", - "Chris Kaelin" + "rit-sszz-pbh", + "Data May 25", + "2025-05-25", + "2025-07-14" ], [ "8", - "Christina", - "Porter", - "Christina Porter" - ], - [ - "9", - "Cody", - "Miller", - "Cody Miller" - ], - [ - "10", - "Craig", - "Geil", - "Craig Geil" - ], - [ - "11", - "David ", - "Brundage", - "David Brundage" - ], - [ - "12", - "David ", - "Dieruf", - "David Dieruf" - ], - [ - "13", - "Elizabeth", - "George", - "Elizabeth George" - ], - [ - "14", - "Elizabeth", - "Hahn", - "Elizabeth Hahn" - ], - [ - "15", - "Euclides", - "Vezga", - "Euclides Vezga" - ], - [ - "16", - "Jake", - "St Germain", - "Jake St Germain" - ], - [ - "17", - "Jake", - "Sexton", - "Jake Sexton" - ], - [ - "18", - "John", - "Stokes", - "John Stokes" - ], - [ - "19", - "Justin", - "Schuhmann", - "Justin Schuhmann" - ], - [ - "20", - "Ken", - "Quiggins", - "Ken Quiggins" - ], - [ - "21", - "Lawrence", - "Caudle", - "Lawrence Caudle" - ], - [ - "22", - "Liz", - "Hahn", - "Liz Hahn" - ], - [ - "23", - "Matt", - "Harvey", - "Matt Harvey" - ], - [ - "24", - "Matt", - "Deshon", - "Matt Deshon" - ], - [ - "25", - "Michael", - "Puckett", - "Michael Puckett" - ], - [ - "26", - "Mostafa ", - "Nabieh", - "Mostafa Nabieh" - ], - [ - "27", - "Nick", - "Swinford", - "Nick Swinford" - ], - [ - "28", - "Radmila", - "Unknown", - "Radmila Unknown" - ], - [ - "29", - "Rama", - "Kattunga", - "Rama Kattunga" - ], - [ - "30", - "Reddy", - "Praveena", - "Reddy Praveena" - ], - [ - "31", - "Robert", - "York", - "Robert York" - ], - [ - "32", - "Ryan ", - "Thompson", - "Ryan Thompson" - ], - [ - "33", - "Saravanan ", - "Murugan", - "Saravanan Murugan" - ], - [ - "34", - "Sebastian", - "Frohm", - "Sebastian Frohm" - ], - [ - "35", - "Sunny", - "Zanchi", - "Sunny Zanchi" + "jnt-wxek-pqh", + "IT May 25", + "2025-05-25", + "2025-07-14" ] ], "shape": { - "columns": 3, - "rows": 36 + "columns": 4, + "rows": 9 } }, "text/html": [ @@ -1727,290 +1918,358 @@ " \n", " \n", " \n", - " First Name\n", - " Last Name\n", - " Full Name\n", + " Meet Code\n", + " Class Name\n", + " Cohort\n", + " Start Date\n", " \n", " \n", " \n", " \n", " 0\n", - " Alex\n", - " D\n", - " Alex D\n", + " xyk-dtsj-kpz\n", + " Intro May 25\n", + " 2025-05-25\n", + " 2025-07-14\n", " \n", " \n", " 1\n", - " Annaleya\n", - " Hamilton\n", - " Annaleya Hamilton\n", + " wrt-nsga-feo\n", + " Data Jan 25\n", + " 2025-01-25\n", + " 2025-07-14\n", " \n", " \n", " 2\n", - " Austin\n", - " Reading\n", - " Austin Reading\n", + " kan-ptwt-ehz\n", + " Web Jan 25\n", + " 2025-01-25\n", + " 2025-07-14\n", " \n", " \n", " 3\n", - " Barbara\n", - " Adkins\n", - " Barbara Adkins\n", + " ecg-nndy-umh\n", + " AI Jan 25\n", + " 2025-01-25\n", + " 2025-06-09\n", " \n", " \n", " 4\n", - " Bill\n", - " Montgomery\n", - " Bill Montgomery\n", + " hhn-uwtt-vsa\n", + " Mentor\n", + " NaN\n", + " 2025-07-01\n", " \n", " \n", " 5\n", - " Blare\n", - " Robinson\n", - " Blare Robinson\n", + " rna-gvmc-zds\n", + " Monday Night Speaker\n", + " NaN\n", + " 2025-07-01\n", " \n", " \n", " 6\n", - " Chris\n", - " Metcalfe\n", - " Chris Metcalfe\n", + " gfq-aghr-gbi\n", + " Web May 25\n", + " 2025-05-25\n", + " 2025-07-14\n", " \n", " \n", " 7\n", - " Chris\n", - " Kaelin\n", - " Chris Kaelin\n", + " rit-sszz-pbh\n", + " Data May 25\n", + " 2025-05-25\n", + " 2025-07-14\n", " \n", " \n", " 8\n", - " Christina\n", - " Porter\n", - " Christina Porter\n", - " \n", - " \n", - " 9\n", - " Cody\n", - " Miller\n", - " Cody Miller\n", - " \n", - " \n", - " 10\n", - " Craig\n", - " Geil\n", - " Craig Geil\n", - " \n", - " \n", - " 11\n", - " David\n", - " Brundage\n", - " David Brundage\n", - " \n", - " \n", - " 12\n", - " David\n", - " Dieruf\n", - " David Dieruf\n", - " \n", - " \n", - " 13\n", - " Elizabeth\n", - " George\n", - " Elizabeth George\n", - " \n", - " \n", - " 14\n", - " Elizabeth\n", - " Hahn\n", - " Elizabeth Hahn\n", - " \n", - " \n", - " 15\n", - " Euclides\n", - " Vezga\n", - " Euclides Vezga\n", - " \n", - " \n", - " 16\n", - " Jake\n", - " St Germain\n", - " Jake St Germain\n", - " \n", - " \n", - " 17\n", - " Jake\n", - " Sexton\n", - " Jake Sexton\n", - " \n", - " \n", - " 18\n", - " John\n", - " Stokes\n", - " John Stokes\n", - " \n", - " \n", - " 19\n", - " Justin\n", - " Schuhmann\n", - " Justin Schuhmann\n", - " \n", - " \n", - " 20\n", - " Ken\n", - " Quiggins\n", - " Ken Quiggins\n", - " \n", - " \n", - " 21\n", - " Lawrence\n", - " Caudle\n", - " Lawrence Caudle\n", - " \n", - " \n", - " 22\n", - " Liz\n", - " Hahn\n", - " Liz Hahn\n", - " \n", - " \n", - " 23\n", - " Matt\n", - " Harvey\n", - " Matt Harvey\n", - " \n", - " \n", - " 24\n", - " Matt\n", - " Deshon\n", - " Matt Deshon\n", - " \n", - " \n", - " 25\n", - " Michael\n", - " Puckett\n", - " Michael Puckett\n", - " \n", - " \n", - " 26\n", - " Mostafa\n", - " Nabieh\n", - " Mostafa Nabieh\n", - " \n", - " \n", - " 27\n", - " Nick\n", - " Swinford\n", - " Nick Swinford\n", - " \n", - " \n", - " 28\n", - " Radmila\n", - " Unknown\n", - " Radmila Unknown\n", - " \n", - " \n", - " 29\n", - " Rama\n", - " Kattunga\n", - " Rama Kattunga\n", - " \n", - " \n", - " 30\n", - " Reddy\n", - " Praveena\n", - " Reddy Praveena\n", - " \n", - " \n", - " 31\n", - " Robert\n", - " York\n", - " Robert York\n", - " \n", - " \n", - " 32\n", - " Ryan\n", - " Thompson\n", - " Ryan Thompson\n", - " \n", - " \n", - " 33\n", - " Saravanan\n", - " Murugan\n", - " Saravanan Murugan\n", - " \n", - " \n", - " 34\n", - " Sebastian\n", - " Frohm\n", - " Sebastian Frohm\n", - " \n", - " \n", - " 35\n", - " Sunny\n", - " Zanchi\n", - " Sunny Zanchi\n", + " jnt-wxek-pqh\n", + " IT May 25\n", + " 2025-05-25\n", + " 2025-07-14\n", " \n", " \n", "\n", "" ], "text/plain": [ - " First Name Last Name Full Name\n", - "0 Alex D Alex D\n", - "1 Annaleya Hamilton Annaleya Hamilton\n", - "2 Austin Reading Austin Reading\n", - "3 Barbara Adkins Barbara Adkins\n", - "4 Bill Montgomery Bill Montgomery\n", - "5 Blare Robinson Blare Robinson\n", - "6 Chris Metcalfe Chris Metcalfe\n", - "7 Chris Kaelin Chris Kaelin\n", - "8 Christina Porter Christina Porter\n", - "9 Cody Miller Cody Miller\n", - "10 Craig Geil Craig Geil\n", - "11 David Brundage David Brundage\n", - "12 David Dieruf David Dieruf\n", - "13 Elizabeth George Elizabeth George\n", - "14 Elizabeth Hahn Elizabeth Hahn\n", - "15 Euclides Vezga Euclides Vezga\n", - "16 Jake St Germain Jake St Germain\n", - "17 Jake Sexton Jake Sexton\n", - "18 John Stokes John Stokes\n", - "19 Justin Schuhmann Justin Schuhmann\n", - "20 Ken Quiggins Ken Quiggins\n", - "21 Lawrence Caudle Lawrence Caudle\n", - "22 Liz Hahn Liz Hahn\n", - "23 Matt Harvey Matt Harvey\n", - "24 Matt Deshon Matt Deshon\n", - "25 Michael Puckett Michael Puckett\n", - "26 Mostafa Nabieh Mostafa Nabieh\n", - "27 Nick Swinford Nick Swinford\n", - "28 Radmila Unknown Radmila Unknown\n", - "29 Rama Kattunga Rama Kattunga\n", - "30 Reddy Praveena Reddy Praveena\n", - "31 Robert York Robert York\n", - "32 Ryan Thompson Ryan Thompson\n", - "33 Saravanan Murugan Saravanan Murugan\n", - "34 Sebastian Frohm Sebastian Frohm\n", - "35 Sunny Zanchi Sunny Zanchi" + " Meet Code Class Name Cohort Start Date\n", + "0 xyk-dtsj-kpz Intro May 25 2025-05-25 2025-07-14\n", + "1 wrt-nsga-feo Data Jan 25 2025-01-25 2025-07-14\n", + "2 kan-ptwt-ehz Web Jan 25 2025-01-25 2025-07-14\n", + "3 ecg-nndy-umh AI Jan 25 2025-01-25 2025-06-09\n", + "4 hhn-uwtt-vsa Mentor NaN 2025-07-01\n", + "5 rna-gvmc-zds Monday Night Speaker NaN 2025-07-01\n", + "6 gfq-aghr-gbi Web May 25 2025-05-25 2025-07-14\n", + "7 rit-sszz-pbh Data May 25 2025-05-25 2025-07-14\n", + "8 jnt-wxek-pqh IT May 25 2025-05-25 2025-07-14" ] }, - "execution_count": 20, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "mentor_list = clean_name_df(mentor_df)\n", - "mentor_list" + "meet_code_df" ] }, { "cell_type": "code", - "execution_count": 21, - "id": "74a3b369", + "execution_count": 7, + "id": "3df8b097", + "metadata": {}, + "outputs": [], + "source": [ + "def keep_name(df: pd.DataFrame) -> pd.DataFrame:\n", + " \"\"\"\n", + " Titles columns in a DataFrame and drops all other columns that is not the 'First Name' and 'Last Name'.\n", + "\n", + " Args:\n", + " df (pd.DataFrame): A data frame containing at least 'First Name' and 'Last Name' columns.\n", + "\n", + " Returns:\n", + " pd.DataFrame: A Data Frame with only the 'First Name' and 'Last Name' Columns\n", + " \"\"\"\n", + " df.columns = df.columns.str.title()\n", + " df['First Name'] = df['First Name'].str.title()\n", + " df['Last Name'] = df['Last Name'].str.title()\n", + " col_to_keep = ['First Name', 'Last Name']\n", + " return df[col_to_keep].copy()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "96aa2e40", + "metadata": {}, + "outputs": [], + "source": [ + "def keep_name_class(df: pd.DataFrame) -> pd.DataFrame:\n", + " \"\"\"\n", + " Titles columns in a DataFrame and drops all other columns that is not the 'First Name', 'Last Name' and 'Meet Code'.\n", + "\n", + " Args:\n", + " df (pd.DataFrame): A data frame containing at least 'First Name', 'Last Name' and 'Meet Code' columns.\n", + "\n", + " Returns:\n", + " pd.DataFrame: A Data Frame with only the 'First Name', 'Last Name' and 'Meet Code' Columns\n", + " \"\"\"\n", + " df.columns = df.columns.str.title()\n", + " df['First Name'] = df['First Name'].str.title()\n", + " df['Last Name'] = df['Last Name'].str.title()\n", + " col_to_keep = ['First Name', 'Last Name', 'Meet Code']\n", + " return df[col_to_keep].copy()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "a3b7e280", + "metadata": {}, + "outputs": [], + "source": [ + "def process_meeting_times(df: pd.DataFrame) -> pd.DataFrame:\n", + " \"\"\"\n", + " Standardize meeting time columns and calculate duration.\n", + "\n", + " Steps performed:\n", + " 1. Converts 'Time Joined' and 'Time Exited' columns to datetime objects.\n", + " 2. Calculates the meeting duration in minutes and stores it in 'Duration in Minutes'.\n", + "\n", + " Parameters\n", + " ----------\n", + " df : pd.DataFrame\n", + " DataFrame containing meeting data with 'Time Joined' and 'Time Exited' columns.\n", + "\n", + " Returns\n", + " -------\n", + " pd.DataFrame\n", + " Updated DataFrame with time columns as datetime and a duration column.\n", + " \"\"\"\n", + " df.columns = df.columns.str.title()\n", + " df['Time Joined'] = pd.to_datetime(df['Time Joined'], format='%I:%M %p', errors='coerce')\n", + " df['Time Exited'] = pd.to_datetime(df['Time Exited'], format='%I:%M %p', errors='coerce')\n", + " df['Duration In Minutes'] = (\n", + " df['Time Exited'] - df['Time Joined']\n", + " ).dt.total_seconds() / 60\n", + " return df\n", + "\n", + "\n", + "def add_full_name(df: pd.DataFrame) -> pd.DataFrame:\n", + " \"\"\"\n", + " Add a 'Full Name' column by combining 'First Name' and 'Last Name'.\n", + "\n", + " Parameters\n", + " ----------\n", + " df : pd.DataFrame\n", + " DataFrame containing 'First Name' and 'Last Name' columns.\n", + "\n", + " Returns\n", + " -------\n", + " pd.DataFrame\n", + " DataFrame with a new 'Full Name' column.\n", + " \"\"\"\n", + " df['Full Name'] = df['First Name'].str.title() + ' ' + df['Last Name'].str.title()\n", + " return df" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "bd9d1679", + "metadata": {}, + "outputs": [], + "source": [ + "def split_names(df: pd.DataFrame) -> pd.DataFrame:\n", + " \"\"\"Function accounting for instance where first name column contains more than just the first name\n", + "\n", + " Args:\n", + " df (pd.DataFrame): DataFrame that needs to be checked for more than one name in first name\n", + "\n", + " Returns:\n", + " pd.DataFrame: DataFrame containing only the first name in the first name column and fills the last name column with the last name\n", + " \"\"\"\n", + " if ' ' in df['First Name']:\n", + " names = df['First Name'].split()\n", + " if len(names) >= 2:\n", + " if df['Last Name'] == names[-1]:\n", + " df['First Name'] = names[0]\n", + " df['Last Name'] = names[-1]\n", + " \n", + " \n", + " return df" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "c3b40f9d", + "metadata": {}, + "outputs": [], + "source": [ + "def clean_name_df(df: pd.DataFrame) -> pd.DataFrame:\n", + " \"\"\"\n", + " Clean and standardize names for a DataFrame.\n", + "\n", + " Steps performed:\n", + " 1. Capitalizes column names for consistency.\n", + " 2. Drops all comlumns that are not 'Fist Name' or 'Last Name'\n", + " 3. Fill null values in name columns.\n", + " 4. Accounts for instance where 'First Name' contains 'Last Name'\n", + " 5. Creates a 'Full Name' column by combining 'First Name' and 'Last Name'.\n", + "\n", + " Parameters\n", + " ----------\n", + " df : pd.DataFrame\n", + " Input DataFrame containing name data.\n", + "\n", + " Returns\n", + " -------\n", + " pd.DataFrame\n", + " A cleaned DataFrame with standardized columns and a 'Full Name' field.\n", + " \"\"\"\n", + " df = keep_name(df)\n", + " if df.isna().any().any() == True:\n", + " df = df.fillna('Unknown')\n", + " df = df.apply(split_names, 1) \n", + " df = add_full_name(df)\n", + "\n", + " return df" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "cd27936c", + "metadata": {}, + "outputs": [], + "source": [ + "def clean_name_class_df(df: pd.DataFrame) -> pd.DataFrame:\n", + " \"\"\"\n", + " Clean and standardize names for a DataFrame.\n", + "\n", + " Steps performed:\n", + " 1. Capitalizes column names for consistency.\n", + " 2. Drops all comlumns that are not 'Fist Name', 'Last Name' and 'Meet Code'\n", + " 3. Fill null values in name columns.\n", + " 4. Accounts for instance where 'First Name' contains 'Last Name'\n", + " 5. Creates a 'Full Name' column by combining 'First Name' and 'Last Name'.\n", + "\n", + " Parameters\n", + " ----------\n", + " df : pd.DataFrame\n", + " Input DataFrame containing name data.\n", + "\n", + " Returns\n", + " -------\n", + " pd.DataFrame\n", + " A cleaned DataFrame with standardized columns and a 'Full Name' field.\n", + " \"\"\"\n", + " df = keep_name_class(df)\n", + " if df.isna().any().any() == True:\n", + " df = df.fillna('Unknown')\n", + " df = df.apply(split_names, 1) \n", + " df = add_full_name(df)\n", + "\n", + " return df" + ] + }, + { + "cell_type": "markdown", + "id": "be9d8721", + "metadata": {}, + "source": [ + "Gives us info on the function from the doc string" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "628949fb", "metadata": {}, "outputs": [ { - "data": { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[31mSignature:\u001b[39m clean_name_df(df: pandas.core.frame.DataFrame) -> pandas.core.frame.DataFrame\n", + "\u001b[31mDocstring:\u001b[39m\n", + "Clean and standardize names for a DataFrame.\n", + "\n", + "Steps performed:\n", + "1. Capitalizes column names for consistency.\n", + "2. Drops all comlumns that are not 'Fist Name' or 'Last Name'\n", + "3. Fill null values in name columns.\n", + "4. Accounts for instance where 'First Name' contains 'Last Name'\n", + "5. Creates a 'Full Name' column by combining 'First Name' and 'Last Name'.\n", + "\n", + "Parameters\n", + "----------\n", + "df : pd.DataFrame\n", + " Input DataFrame containing name data.\n", + "\n", + "Returns\n", + "-------\n", + "pd.DataFrame\n", + " A cleaned DataFrame with standardized columns and a 'Full Name' field.\n", + "\u001b[31mFile:\u001b[39m c:\\users\\leolion023\\appdata\\local\\temp\\ipykernel_82848\\4077920601.py\n", + "\u001b[31mType:\u001b[39m function" + ] + } + ], + "source": [ + "clean_name_df?" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "6468b9a2", + "metadata": {}, + "outputs": [ + { + "data": { "application/vnd.microsoft.datawrangler.viewer.v0+json": { "columns": [ { @@ -2019,186 +2278,242 @@ "type": "integer" }, { - "name": "First name", - "rawType": "object", - "type": "string" - }, - { - "name": "Last name", - "rawType": "object", - "type": "string" - }, - { - "name": "Email", + "name": "First Name", "rawType": "object", "type": "string" }, { - "name": "Duration", + "name": "Last Name", "rawType": "object", "type": "string" }, { - "name": "Time joined", + "name": "Meet Code", "rawType": "object", "type": "string" }, { - "name": "Time exited", + "name": "Full Name", "rawType": "object", "type": "string" } ], - "ref": "d1a5bff9-9e54-4b4e-af0f-4e03144dcf0c", + "ref": "07193db0-7bfd-4932-b3c7-01bde1ef94a9", "rows": [ [ "0", "Alex", "D", - "awda*****@***.com", - "2 hr 25 min", - "6:01 PM", - "8:26 PM" + "wrt-nsga-feo", + "Alex D" ], [ "1", "Angela", "Moore", - "ange*************@***.com", - "2 hr 29 min", - "5:59 PM", - "8:27 PM" + "wrt-nsga-feo", + "Angela Moore" ], [ "2", "Bill", "Montgomery", - "kyho***@***.com", - "2 hr 27 min", - "5:59 PM", - "8:26 PM" + "wrt-nsga-feo", + "Bill Montgomery" ], [ "3", "Charles", "Norman", - "ario****@***.com", - "2 hr 42 min", - "5:45 PM", - "8:27 PM" + "wrt-nsga-feo", + "Charles Norman" ], [ "4", "Christina", "Porter", - "chri**************@***.com", - "2 hr 4 min", - "6:15 PM", - "8:19 PM" + "wrt-nsga-feo", + "Christina Porter" ], [ "5", "Cindy", "Wedding", - "cwed*******@***.com", - "2 hr 22 min", - "6:03 PM", - "8:25 PM" + "wrt-nsga-feo", + "Cindy Wedding" ], [ "6", "Classroom", "Admin", - "classroom@codeyou.org", - "1 min", - "5:59 PM", - "6:00 PM" + "wrt-nsga-feo", + "Classroom Admin" ], [ "7", "Joel", "Anderson", - "joel*************@***.com", - "2 hr 27 min", - "6:00 PM", - "8:27 PM" + "wrt-nsga-feo", + "Joel Anderson" ], [ "8", "Jonathan", "Chadwell", - "jona*******************@***.com", - "2 hr 24 min", - "6:02 PM", - "8:26 PM" + "wrt-nsga-feo", + "Jonathan Chadwell" ], [ "9", "Mendell", "M", - "menm****@***.com", - "1 hr 58 min", - "6:00 PM", - "8:00 PM" + "wrt-nsga-feo", + "Mendell M" ], [ "10", "Oli", "Ivanova", - "olga************@***.com", - "2 hr 14 min", - "5:59 PM", - "8:13 PM" + "wrt-nsga-feo", + "Oli Ivanova" ], [ "11", "S.", "Byrnes", - "smby***@***.com", - "1 hr 58 min", - "6:02 PM", - "8:00 PM" + "wrt-nsga-feo", + "S. Byrnes" ], [ "12", "Tara Leigh", "Hylton", - "turr******@***.com", - "2 hr 5 min", - "6:01 PM", - "8:06 PM" + "wrt-nsga-feo", + "Tara Leigh Hylton" ], [ "13", "Whitney", "Parks", - "wypa*****@***.com", - "2 hr 38 min", - "6:01 PM", - "8:39 PM" + "wrt-nsga-feo", + "Whitney Parks" ], [ "14", "Zachary", "Young", - "zach*************@***.com", - "2 hr 6 min", - "5:54 PM", - "8:00 PM" + "wrt-nsga-feo", + "Zachary Young" ], [ "15", "Zhenzhen", "Xie", - "xzz.**********@***.com", - "2 hr 24 min", - "6:01 PM", - "8:26 PM" + "wrt-nsga-feo", + "Zhenzhen Xie" + ], + [ + "16", + "Sheyla", + "Diaz", + "kan-ptwt-ehz", + "Sheyla Diaz" + ], + [ + "17", + "James", + "Glosser", + "kan-ptwt-ehz", + "James Glosser" + ], + [ + "18", + "Reed", + "Haddix", + "kan-ptwt-ehz", + "Reed Haddix" + ], + [ + "19", + "John", + "Hankins", + "kan-ptwt-ehz", + "John Hankins" + ], + [ + "20", + "Stephanie", + "Jones", + "kan-ptwt-ehz", + "Stephanie Jones" + ], + [ + "21", + "Aaron", + "Laliberty", + "kan-ptwt-ehz", + "Aaron Laliberty" + ], + [ + "22", + "Dakota", + "Mcmullin", + "kan-ptwt-ehz", + "Dakota Mcmullin" + ], + [ + "23", + "Toni-Ivy", + "Ownn.", + "kan-ptwt-ehz", + "Toni-Ivy Ownn." + ], + [ + "24", + "Michael", + "Puckett", + "kan-ptwt-ehz", + "Michael Puckett" + ], + [ + "25", + "Leighton", + "Pulliam", + "kan-ptwt-ehz", + "Leighton Pulliam" + ], + [ + "26", + "Ken", + "Quiggins", + "kan-ptwt-ehz", + "Ken Quiggins" + ], + [ + "27", + "Amber", + "Ratliff", + "kan-ptwt-ehz", + "Amber Ratliff" + ], + [ + "28", + "Jill", + "Schrank", + "kan-ptwt-ehz", + "Jill Schrank" + ], + [ + "29", + "Huan", + "Song", + "kan-ptwt-ehz", + "Huan Song" ] ], "shape": { - "columns": 6, - "rows": 16 + "columns": 4, + "rows": 30 } }, "text/html": [ @@ -2220,12 +2535,10 @@ " \n", " \n", " \n", - " First name\n", - " Last name\n", - " Email\n", - " Duration\n", - " Time joined\n", - " Time exited\n", + " First Name\n", + " Last Name\n", + " Meet Code\n", + " Full Name\n", " \n", " \n", " \n", @@ -2233,201 +2546,264 @@ " 0\n", " Alex\n", " D\n", - " awda*****@***.com\n", - " 2 hr 25 min\n", - " 6:01 PM\n", - " 8:26 PM\n", + " wrt-nsga-feo\n", + " Alex D\n", " \n", " \n", " 1\n", " Angela\n", " Moore\n", - " ange*************@***.com\n", - " 2 hr 29 min\n", - " 5:59 PM\n", - " 8:27 PM\n", + " wrt-nsga-feo\n", + " Angela Moore\n", " \n", " \n", " 2\n", " Bill\n", " Montgomery\n", - " kyho***@***.com\n", - " 2 hr 27 min\n", - " 5:59 PM\n", - " 8:26 PM\n", + " wrt-nsga-feo\n", + " Bill Montgomery\n", " \n", " \n", " 3\n", " Charles\n", " Norman\n", - " ario****@***.com\n", - " 2 hr 42 min\n", - " 5:45 PM\n", - " 8:27 PM\n", + " wrt-nsga-feo\n", + " Charles Norman\n", " \n", " \n", " 4\n", " Christina\n", " Porter\n", - " chri**************@***.com\n", - " 2 hr 4 min\n", - " 6:15 PM\n", - " 8:19 PM\n", + " wrt-nsga-feo\n", + " Christina Porter\n", " \n", " \n", " 5\n", " Cindy\n", " Wedding\n", - " cwed*******@***.com\n", - " 2 hr 22 min\n", - " 6:03 PM\n", - " 8:25 PM\n", + " wrt-nsga-feo\n", + " Cindy Wedding\n", " \n", " \n", " 6\n", " Classroom\n", " Admin\n", - " classroom@codeyou.org\n", - " 1 min\n", - " 5:59 PM\n", - " 6:00 PM\n", + " wrt-nsga-feo\n", + " Classroom Admin\n", " \n", " \n", " 7\n", " Joel\n", " Anderson\n", - " joel*************@***.com\n", - " 2 hr 27 min\n", - " 6:00 PM\n", - " 8:27 PM\n", + " wrt-nsga-feo\n", + " Joel Anderson\n", " \n", " \n", " 8\n", " Jonathan\n", " Chadwell\n", - " jona*******************@***.com\n", - " 2 hr 24 min\n", - " 6:02 PM\n", - " 8:26 PM\n", + " wrt-nsga-feo\n", + " Jonathan Chadwell\n", " \n", " \n", " 9\n", " Mendell\n", " M\n", - " menm****@***.com\n", - " 1 hr 58 min\n", - " 6:00 PM\n", - " 8:00 PM\n", + " wrt-nsga-feo\n", + " Mendell M\n", " \n", " \n", " 10\n", " Oli\n", " Ivanova\n", - " olga************@***.com\n", - " 2 hr 14 min\n", - " 5:59 PM\n", - " 8:13 PM\n", + " wrt-nsga-feo\n", + " Oli Ivanova\n", " \n", " \n", " 11\n", " S.\n", " Byrnes\n", - " smby***@***.com\n", - " 1 hr 58 min\n", - " 6:02 PM\n", - " 8:00 PM\n", + " wrt-nsga-feo\n", + " S. Byrnes\n", " \n", " \n", " 12\n", " Tara Leigh\n", " Hylton\n", - " turr******@***.com\n", - " 2 hr 5 min\n", - " 6:01 PM\n", - " 8:06 PM\n", + " wrt-nsga-feo\n", + " Tara Leigh Hylton\n", " \n", " \n", " 13\n", " Whitney\n", " Parks\n", - " wypa*****@***.com\n", - " 2 hr 38 min\n", - " 6:01 PM\n", - " 8:39 PM\n", + " wrt-nsga-feo\n", + " Whitney Parks\n", " \n", " \n", " 14\n", " Zachary\n", " Young\n", - " zach*************@***.com\n", - " 2 hr 6 min\n", - " 5:54 PM\n", - " 8:00 PM\n", + " wrt-nsga-feo\n", + " Zachary Young\n", " \n", " \n", " 15\n", " Zhenzhen\n", " Xie\n", - " xzz.**********@***.com\n", - " 2 hr 24 min\n", - " 6:01 PM\n", - " 8:26 PM\n", + " wrt-nsga-feo\n", + " Zhenzhen Xie\n", + " \n", + " \n", + " 16\n", + " Sheyla\n", + " Diaz\n", + " kan-ptwt-ehz\n", + " Sheyla Diaz\n", + " \n", + " \n", + " 17\n", + " James\n", + " Glosser\n", + " kan-ptwt-ehz\n", + " James Glosser\n", + " \n", + " \n", + " 18\n", + " Reed\n", + " Haddix\n", + " kan-ptwt-ehz\n", + " Reed Haddix\n", + " \n", + " \n", + " 19\n", + " John\n", + " Hankins\n", + " kan-ptwt-ehz\n", + " John Hankins\n", + " \n", + " \n", + " 20\n", + " Stephanie\n", + " Jones\n", + " kan-ptwt-ehz\n", + " Stephanie Jones\n", + " \n", + " \n", + " 21\n", + " Aaron\n", + " Laliberty\n", + " kan-ptwt-ehz\n", + " Aaron Laliberty\n", + " \n", + " \n", + " 22\n", + " Dakota\n", + " Mcmullin\n", + " kan-ptwt-ehz\n", + " Dakota Mcmullin\n", + " \n", + " \n", + " 23\n", + " Toni-Ivy\n", + " Ownn.\n", + " kan-ptwt-ehz\n", + " Toni-Ivy Ownn.\n", + " \n", + " \n", + " 24\n", + " Michael\n", + " Puckett\n", + " kan-ptwt-ehz\n", + " Michael Puckett\n", + " \n", + " \n", + " 25\n", + " Leighton\n", + " Pulliam\n", + " kan-ptwt-ehz\n", + " Leighton Pulliam\n", + " \n", + " \n", + " 26\n", + " Ken\n", + " Quiggins\n", + " kan-ptwt-ehz\n", + " Ken Quiggins\n", + " \n", + " \n", + " 27\n", + " Amber\n", + " Ratliff\n", + " kan-ptwt-ehz\n", + " Amber Ratliff\n", + " \n", + " \n", + " 28\n", + " Jill\n", + " Schrank\n", + " kan-ptwt-ehz\n", + " Jill Schrank\n", + " \n", + " \n", + " 29\n", + " Huan\n", + " Song\n", + " kan-ptwt-ehz\n", + " Huan Song\n", " \n", " \n", "\n", "" ], "text/plain": [ - " First name Last name Email Duration \\\n", - "0 Alex D awda*****@***.com 2 hr 25 min \n", - "1 Angela Moore ange*************@***.com 2 hr 29 min \n", - "2 Bill Montgomery kyho***@***.com 2 hr 27 min \n", - "3 Charles Norman ario****@***.com 2 hr 42 min \n", - "4 Christina Porter chri**************@***.com 2 hr 4 min \n", - "5 Cindy Wedding cwed*******@***.com 2 hr 22 min \n", - "6 Classroom Admin classroom@codeyou.org 1 min \n", - "7 Joel Anderson joel*************@***.com 2 hr 27 min \n", - "8 Jonathan Chadwell jona*******************@***.com 2 hr 24 min \n", - "9 Mendell M menm****@***.com 1 hr 58 min \n", - "10 Oli Ivanova olga************@***.com 2 hr 14 min \n", - "11 S. Byrnes smby***@***.com 1 hr 58 min \n", - "12 Tara Leigh Hylton turr******@***.com 2 hr 5 min \n", - "13 Whitney Parks wypa*****@***.com 2 hr 38 min \n", - "14 Zachary Young zach*************@***.com 2 hr 6 min \n", - "15 Zhenzhen Xie xzz.**********@***.com 2 hr 24 min \n", - "\n", - " Time joined Time exited \n", - "0 6:01 PM 8:26 PM \n", - "1 5:59 PM 8:27 PM \n", - "2 5:59 PM 8:26 PM \n", - "3 5:45 PM 8:27 PM \n", - "4 6:15 PM 8:19 PM \n", - "5 6:03 PM 8:25 PM \n", - "6 5:59 PM 6:00 PM \n", - "7 6:00 PM 8:27 PM \n", - "8 6:02 PM 8:26 PM \n", - "9 6:00 PM 8:00 PM \n", - "10 5:59 PM 8:13 PM \n", - "11 6:02 PM 8:00 PM \n", - "12 6:01 PM 8:06 PM \n", - "13 6:01 PM 8:39 PM \n", - "14 5:54 PM 8:00 PM \n", - "15 6:01 PM 8:26 PM " + " First Name Last Name Meet Code Full Name\n", + "0 Alex D wrt-nsga-feo Alex D\n", + "1 Angela Moore wrt-nsga-feo Angela Moore\n", + "2 Bill Montgomery wrt-nsga-feo Bill Montgomery\n", + "3 Charles Norman wrt-nsga-feo Charles Norman\n", + "4 Christina Porter wrt-nsga-feo Christina Porter\n", + "5 Cindy Wedding wrt-nsga-feo Cindy Wedding\n", + "6 Classroom Admin wrt-nsga-feo Classroom Admin\n", + "7 Joel Anderson wrt-nsga-feo Joel Anderson\n", + "8 Jonathan Chadwell wrt-nsga-feo Jonathan Chadwell\n", + "9 Mendell M wrt-nsga-feo Mendell M\n", + "10 Oli Ivanova wrt-nsga-feo Oli Ivanova\n", + "11 S. Byrnes wrt-nsga-feo S. Byrnes\n", + "12 Tara Leigh Hylton wrt-nsga-feo Tara Leigh Hylton\n", + "13 Whitney Parks wrt-nsga-feo Whitney Parks\n", + "14 Zachary Young wrt-nsga-feo Zachary Young\n", + "15 Zhenzhen Xie wrt-nsga-feo Zhenzhen Xie\n", + "16 Sheyla Diaz kan-ptwt-ehz Sheyla Diaz\n", + "17 James Glosser kan-ptwt-ehz James Glosser\n", + "18 Reed Haddix kan-ptwt-ehz Reed Haddix\n", + "19 John Hankins kan-ptwt-ehz John Hankins\n", + "20 Stephanie Jones kan-ptwt-ehz Stephanie Jones\n", + "21 Aaron Laliberty kan-ptwt-ehz Aaron Laliberty\n", + "22 Dakota Mcmullin kan-ptwt-ehz Dakota Mcmullin\n", + "23 Toni-Ivy Ownn. kan-ptwt-ehz Toni-Ivy Ownn.\n", + "24 Michael Puckett kan-ptwt-ehz Michael Puckett\n", + "25 Leighton Pulliam kan-ptwt-ehz Leighton Pulliam\n", + "26 Ken Quiggins kan-ptwt-ehz Ken Quiggins\n", + "27 Amber Ratliff kan-ptwt-ehz Amber Ratliff\n", + "28 Jill Schrank kan-ptwt-ehz Jill Schrank\n", + "29 Huan Song kan-ptwt-ehz Huan Song" ] }, - "execution_count": 21, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "meeting_1" + "student_list = clean_name_class_df(student_df)\n", + "student_list" ] }, { "cell_type": "code", - "execution_count": 22, - "id": "00cc7690", + "execution_count": 15, + "id": "9e6b2ba9", "metadata": {}, "outputs": [ { @@ -2449,219 +2825,120 @@ "rawType": "object", "type": "string" }, - { - "name": "Email", - "rawType": "object", - "type": "string" - }, - { - "name": "Duration", - "rawType": "object", - "type": "string" - }, - { - "name": "Time Joined", - "rawType": "datetime64[ns]", - "type": "datetime" - }, - { - "name": "Time Exited", - "rawType": "datetime64[ns]", - "type": "datetime" - }, - { - "name": "Duration In Minutes", - "rawType": "float64", - "type": "float" - }, { "name": "Full Name", "rawType": "object", "type": "string" } ], - "ref": "754c2fbc-16f7-41cc-9518-53bdb23fd325", + "ref": "7368f04b-2f8e-41f3-8455-561c37a8273d", "rows": [ [ "0", - "Alex", - "D", - "awda*****@***.com", - "2 hr 25 min", - "1900-01-01 18:01:00", - "1900-01-01 20:26:00", - "145.0", - "Alex D" + "Ailene", + "Johnston", + "Ailene Johnston" ], [ "1", - "Angela", - "Moore", - "ange*************@***.com", - "2 hr 29 min", - "1900-01-01 17:59:00", - "1900-01-01 20:27:00", - "148.0", - "Angela Moore" + "Alli", + "Rippy", + "Alli Rippy" ], [ "2", - "Bill", - "Montgomery", - "kyho***@***.com", - "2 hr 27 min", - "1900-01-01 17:59:00", - "1900-01-01 20:26:00", - "147.0", - "Bill Montgomery" + "Amanda ", + "Gearhart", + "Amanda Gearhart" ], [ "3", - "Charles", - "Norman", - "ario****@***.com", - "2 hr 42 min", - "1900-01-01 17:45:00", - "1900-01-01 20:27:00", - "162.0", - "Charles Norman" + "August", + "Mapp", + "August Mapp" ], [ "4", - "Christina", - "Porter", - "chri**************@***.com", - "2 hr 4 min", - "1900-01-01 18:15:00", - "1900-01-01 20:19:00", - "124.0", - "Christina Porter" + "Blake", + "Herbert", + "Blake Herbert" ], [ "5", - "Cindy", - "Wedding", - "cwed*******@***.com", - "2 hr 22 min", - "1900-01-01 18:03:00", - "1900-01-01 20:25:00", - "142.0", - "Cindy Wedding" + "Brian ", + "Luerman", + "Brian Luerman" ], [ "6", "Classroom", "Admin", - "classroom@codeyou.org", - "1 min", - "1900-01-01 17:59:00", - "1900-01-01 18:00:00", - "1.0", "Classroom Admin" ], [ "7", - "Joel", - "Anderson", - "joel*************@***.com", - "2 hr 27 min", - "1900-01-01 18:00:00", - "1900-01-01 20:27:00", - "147.0", - "Joel Anderson" + "Dan", + "Collins", + "Dan Collins" ], [ "8", - "Jonathan", - "Chadwell", - "jona*******************@***.com", - "2 hr 24 min", - "1900-01-01 18:02:00", - "1900-01-01 20:26:00", - "144.0", - "Jonathan Chadwell" + "Danny", + "Morton", + "Danny Morton" ], [ "9", - "Mendell", - "M", - "menm****@***.com", - "1 hr 58 min", - "1900-01-01 18:00:00", - "1900-01-01 20:00:00", - "120.0", - "Mendell M" + "David", + "York", + "David York" ], [ "10", - "Oli", - "Ivanova", - "olga************@***.com", - "2 hr 14 min", - "1900-01-01 17:59:00", - "1900-01-01 20:13:00", - "134.0", - "Oli Ivanova" + "Emily", + "Sullivan", + "Emily Sullivan" ], [ "11", - "S.", - "Byrnes", - "smby***@***.com", - "1 hr 58 min", - "1900-01-01 18:02:00", - "1900-01-01 20:00:00", - "118.0", - "S. Byrnes" + "Jared", + "Mueller", + "Jared Mueller" ], [ "12", - "Tara Leigh", - "Hylton", - "turr******@***.com", - "2 hr 5 min", - "1900-01-01 18:01:00", - "1900-01-01 20:06:00", - "125.0", - "Tara Leigh Hylton" + "Jenny", + "Terry", + "Jenny Terry" ], [ "13", - "Whitney", - "Parks", - "wypa*****@***.com", - "2 hr 38 min", - "1900-01-01 18:01:00", - "1900-01-01 20:39:00", - "158.0", - "Whitney Parks" + "Kalee", + "Howard", + "Kalee Howard" ], [ "14", - "Zachary", - "Young", - "zach*************@***.com", - "2 hr 6 min", - "1900-01-01 17:54:00", - "1900-01-01 20:00:00", - "126.0", - "Zachary Young" + "Rekkai", + "Steed", + "Rekkai Steed" ], [ "15", - "Zhenzhen", - "Xie", - "xzz.**********@***.com", - "2 hr 24 min", - "1900-01-01 18:01:00", - "1900-01-01 20:26:00", - "145.0", - "Zhenzhen Xie" + "Shannon", + "Sheehy", + "Shannon Sheehy" + ], + [ + "16", + "Tonia", + "Nolden", + "Tonia Nolden" ] ], "shape": { - "columns": 8, - "rows": 16 + "columns": 3, + "rows": 17 } }, "text/html": [ @@ -2685,201 +2962,1584 @@ " \n", " First Name\n", " Last Name\n", - " Email\n", - " Duration\n", - " Time Joined\n", - " Time Exited\n", - " Duration In Minutes\n", " Full Name\n", " \n", " \n", " \n", " \n", " 0\n", - " Alex\n", - " D\n", - " awda*****@***.com\n", - " 2 hr 25 min\n", - " 1900-01-01 18:01:00\n", - " 1900-01-01 20:26:00\n", - " 145.0\n", - " Alex D\n", + " Ailene\n", + " Johnston\n", + " Ailene Johnston\n", " \n", " \n", " 1\n", - " Angela\n", - " Moore\n", - " ange*************@***.com\n", - " 2 hr 29 min\n", - " 1900-01-01 17:59:00\n", - " 1900-01-01 20:27:00\n", - " 148.0\n", - " Angela Moore\n", + " Alli\n", + " Rippy\n", + " Alli Rippy\n", " \n", " \n", " 2\n", - " Bill\n", - " Montgomery\n", - " kyho***@***.com\n", - " 2 hr 27 min\n", - " 1900-01-01 17:59:00\n", - " 1900-01-01 20:26:00\n", - " 147.0\n", - " Bill Montgomery\n", + " Amanda\n", + " Gearhart\n", + " Amanda Gearhart\n", " \n", " \n", " 3\n", - " Charles\n", - " Norman\n", - " ario****@***.com\n", - " 2 hr 42 min\n", - " 1900-01-01 17:45:00\n", - " 1900-01-01 20:27:00\n", - " 162.0\n", - " Charles Norman\n", + " August\n", + " Mapp\n", + " August Mapp\n", " \n", " \n", " 4\n", - " Christina\n", - " Porter\n", - " chri**************@***.com\n", - " 2 hr 4 min\n", - " 1900-01-01 18:15:00\n", - " 1900-01-01 20:19:00\n", - " 124.0\n", - " Christina Porter\n", + " Blake\n", + " Herbert\n", + " Blake Herbert\n", " \n", " \n", " 5\n", - " Cindy\n", - " Wedding\n", - " cwed*******@***.com\n", - " 2 hr 22 min\n", - " 1900-01-01 18:03:00\n", - " 1900-01-01 20:25:00\n", - " 142.0\n", - " Cindy Wedding\n", + " Brian\n", + " Luerman\n", + " Brian Luerman\n", " \n", " \n", " 6\n", " Classroom\n", " Admin\n", - " classroom@codeyou.org\n", - " 1 min\n", - " 1900-01-01 17:59:00\n", - " 1900-01-01 18:00:00\n", - " 1.0\n", " Classroom Admin\n", " \n", " \n", " 7\n", - " Joel\n", - " Anderson\n", - " joel*************@***.com\n", - " 2 hr 27 min\n", - " 1900-01-01 18:00:00\n", - " 1900-01-01 20:27:00\n", - " 147.0\n", - " Joel Anderson\n", + " Dan\n", + " Collins\n", + " Dan Collins\n", " \n", " \n", " 8\n", - " Jonathan\n", - " Chadwell\n", - " jona*******************@***.com\n", - " 2 hr 24 min\n", - " 1900-01-01 18:02:00\n", - " 1900-01-01 20:26:00\n", - " 144.0\n", - " Jonathan Chadwell\n", + " Danny\n", + " Morton\n", + " Danny Morton\n", " \n", " \n", " 9\n", - " Mendell\n", - " M\n", - " menm****@***.com\n", - " 1 hr 58 min\n", - " 1900-01-01 18:00:00\n", - " 1900-01-01 20:00:00\n", - " 120.0\n", - " Mendell M\n", + " David\n", + " York\n", + " David York\n", " \n", " \n", " 10\n", - " Oli\n", - " Ivanova\n", - " olga************@***.com\n", - " 2 hr 14 min\n", - " 1900-01-01 17:59:00\n", - " 1900-01-01 20:13:00\n", - " 134.0\n", - " Oli Ivanova\n", + " Emily\n", + " Sullivan\n", + " Emily Sullivan\n", " \n", " \n", " 11\n", - " S.\n", - " Byrnes\n", - " smby***@***.com\n", - " 1 hr 58 min\n", - " 1900-01-01 18:02:00\n", - " 1900-01-01 20:00:00\n", - " 118.0\n", - " S. Byrnes\n", + " Jared\n", + " Mueller\n", + " Jared Mueller\n", " \n", " \n", " 12\n", - " Tara Leigh\n", - " Hylton\n", - " turr******@***.com\n", - " 2 hr 5 min\n", - " 1900-01-01 18:01:00\n", - " 1900-01-01 20:06:00\n", - " 125.0\n", - " Tara Leigh Hylton\n", + " Jenny\n", + " Terry\n", + " Jenny Terry\n", " \n", " \n", " 13\n", - " Whitney\n", - " Parks\n", - " wypa*****@***.com\n", - " 2 hr 38 min\n", - " 1900-01-01 18:01:00\n", - " 1900-01-01 20:39:00\n", - " 158.0\n", - " Whitney Parks\n", + " Kalee\n", + " Howard\n", + " Kalee Howard\n", " \n", " \n", " 14\n", - " Zachary\n", - " Young\n", - " zach*************@***.com\n", - " 2 hr 6 min\n", - " 1900-01-01 17:54:00\n", - " 1900-01-01 20:00:00\n", - " 126.0\n", - " Zachary Young\n", + " Rekkai\n", + " Steed\n", + " Rekkai Steed\n", " \n", " \n", " 15\n", - " Zhenzhen\n", - " Xie\n", - " xzz.**********@***.com\n", - " 2 hr 24 min\n", - " 1900-01-01 18:01:00\n", - " 1900-01-01 20:26:00\n", - " 145.0\n", - " Zhenzhen Xie\n", + " Shannon\n", + " Sheehy\n", + " Shannon Sheehy\n", + " \n", + " \n", + " 16\n", + " Tonia\n", + " Nolden\n", + " Tonia Nolden\n", " \n", " \n", "\n", "" ], "text/plain": [ - " First Name Last Name Email Duration \\\n", - "0 Alex D awda*****@***.com 2 hr 25 min \n", - "1 Angela Moore ange*************@***.com 2 hr 29 min \n", - "2 Bill Montgomery kyho***@***.com 2 hr 27 min \n", - "3 Charles Norman ario****@***.com 2 hr 42 min \n", + " First Name Last Name Full Name\n", + "0 Ailene Johnston Ailene Johnston\n", + "1 Alli Rippy Alli Rippy\n", + "2 Amanda Gearhart Amanda Gearhart\n", + "3 August Mapp August Mapp\n", + "4 Blake Herbert Blake Herbert\n", + "5 Brian Luerman Brian Luerman\n", + "6 Classroom Admin Classroom Admin\n", + "7 Dan Collins Dan Collins\n", + "8 Danny Morton Danny Morton\n", + "9 David York David York\n", + "10 Emily Sullivan Emily Sullivan\n", + "11 Jared Mueller Jared Mueller\n", + "12 Jenny Terry Jenny Terry\n", + "13 Kalee Howard Kalee Howard\n", + "14 Rekkai Steed Rekkai Steed\n", + "15 Shannon Sheehy Shannon Sheehy\n", + "16 Tonia Nolden Tonia Nolden" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "staff_list = clean_name_df(staff_df)\n", + "staff_list" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "6c86df50", + "metadata": {}, + "outputs": [], + "source": [ + "##clean_mentor_df?" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "115b41b9", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.microsoft.datawrangler.viewer.v0+json": { + "columns": [ + { + "name": "index", + "rawType": "int64", + "type": "integer" + }, + { + "name": "First Name", + "rawType": "object", + "type": "string" + }, + { + "name": "Last Name", + "rawType": "object", + "type": "string" + }, + { + "name": "Full Name", + "rawType": "object", + "type": "string" + } + ], + "ref": "d6eec9e5-8fa7-478b-993b-699443d1382a", + "rows": [ + [ + "0", + "Alex", + "D", + "Alex D" + ], + [ + "1", + "Annaleya", + "Hamilton", + "Annaleya Hamilton" + ], + [ + "2", + "Austin", + "Reading", + "Austin Reading" + ], + [ + "3", + "Barbara", + "Adkins", + "Barbara Adkins" + ], + [ + "4", + "Bill", + "Montgomery", + "Bill Montgomery" + ], + [ + "5", + "Blare", + "Robinson", + "Blare Robinson" + ], + [ + "6", + "Chris", + "Metcalfe", + "Chris Metcalfe" + ], + [ + "7", + "Chris ", + "Kaelin", + "Chris Kaelin" + ], + [ + "8", + "Christina", + "Porter", + "Christina Porter" + ], + [ + "9", + "Cody", + "Miller", + "Cody Miller" + ], + [ + "10", + "Craig", + "Geil", + "Craig Geil" + ], + [ + "11", + "David ", + "Brundage", + "David Brundage" + ], + [ + "12", + "David ", + "Dieruf", + "David Dieruf" + ], + [ + "13", + "Elizabeth", + "George", + "Elizabeth George" + ], + [ + "14", + "Elizabeth", + "Hahn", + "Elizabeth Hahn" + ], + [ + "15", + "Euclides", + "Vezga", + "Euclides Vezga" + ], + [ + "16", + "Jake", + "St Germain", + "Jake St Germain" + ], + [ + "17", + "Jake", + "Sexton", + "Jake Sexton" + ], + [ + "18", + "John", + "Stokes", + "John Stokes" + ], + [ + "19", + "Justin", + "Schuhmann", + "Justin Schuhmann" + ], + [ + "20", + "Ken", + "Quiggins", + "Ken Quiggins" + ], + [ + "21", + "Lawrence", + "Caudle", + "Lawrence Caudle" + ], + [ + "22", + "Liz", + "Hahn", + "Liz Hahn" + ], + [ + "23", + "Matt", + "Harvey", + "Matt Harvey" + ], + [ + "24", + "Matt", + "Deshon", + "Matt Deshon" + ], + [ + "25", + "Michael", + "Puckett", + "Michael Puckett" + ], + [ + "26", + "Mostafa ", + "Nabieh", + "Mostafa Nabieh" + ], + [ + "27", + "Nick", + "Swinford", + "Nick Swinford" + ], + [ + "28", + "Radmila", + "Unknown", + "Radmila Unknown" + ], + [ + "29", + "Rama", + "Kattunga", + "Rama Kattunga" + ], + [ + "30", + "Reddy", + "Praveena", + "Reddy Praveena" + ], + [ + "31", + "Robert", + "York", + "Robert York" + ], + [ + "32", + "Ryan ", + "Thompson", + "Ryan Thompson" + ], + [ + "33", + "Saravanan ", + "Murugan", + "Saravanan Murugan" + ], + [ + "34", + "Sebastian", + "Frohm", + "Sebastian Frohm" + ], + [ + "35", + "Sunny", + "Zanchi", + "Sunny Zanchi" + ] + ], + "shape": { + "columns": 3, + "rows": 36 + } + }, + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
First NameLast NameFull Name
0AlexDAlex D
1AnnaleyaHamiltonAnnaleya Hamilton
2AustinReadingAustin Reading
3BarbaraAdkinsBarbara Adkins
4BillMontgomeryBill Montgomery
5BlareRobinsonBlare Robinson
6ChrisMetcalfeChris Metcalfe
7ChrisKaelinChris Kaelin
8ChristinaPorterChristina Porter
9CodyMillerCody Miller
10CraigGeilCraig Geil
11DavidBrundageDavid Brundage
12DavidDierufDavid Dieruf
13ElizabethGeorgeElizabeth George
14ElizabethHahnElizabeth Hahn
15EuclidesVezgaEuclides Vezga
16JakeSt GermainJake St Germain
17JakeSextonJake Sexton
18JohnStokesJohn Stokes
19JustinSchuhmannJustin Schuhmann
20KenQuigginsKen Quiggins
21LawrenceCaudleLawrence Caudle
22LizHahnLiz Hahn
23MattHarveyMatt Harvey
24MattDeshonMatt Deshon
25MichaelPuckettMichael Puckett
26MostafaNabiehMostafa Nabieh
27NickSwinfordNick Swinford
28RadmilaUnknownRadmila Unknown
29RamaKattungaRama Kattunga
30ReddyPraveenaReddy Praveena
31RobertYorkRobert York
32RyanThompsonRyan Thompson
33SaravananMuruganSaravanan Murugan
34SebastianFrohmSebastian Frohm
35SunnyZanchiSunny Zanchi
\n", + "
" + ], + "text/plain": [ + " First Name Last Name Full Name\n", + "0 Alex D Alex D\n", + "1 Annaleya Hamilton Annaleya Hamilton\n", + "2 Austin Reading Austin Reading\n", + "3 Barbara Adkins Barbara Adkins\n", + "4 Bill Montgomery Bill Montgomery\n", + "5 Blare Robinson Blare Robinson\n", + "6 Chris Metcalfe Chris Metcalfe\n", + "7 Chris Kaelin Chris Kaelin\n", + "8 Christina Porter Christina Porter\n", + "9 Cody Miller Cody Miller\n", + "10 Craig Geil Craig Geil\n", + "11 David Brundage David Brundage\n", + "12 David Dieruf David Dieruf\n", + "13 Elizabeth George Elizabeth George\n", + "14 Elizabeth Hahn Elizabeth Hahn\n", + "15 Euclides Vezga Euclides Vezga\n", + "16 Jake St Germain Jake St Germain\n", + "17 Jake Sexton Jake Sexton\n", + "18 John Stokes John Stokes\n", + "19 Justin Schuhmann Justin Schuhmann\n", + "20 Ken Quiggins Ken Quiggins\n", + "21 Lawrence Caudle Lawrence Caudle\n", + "22 Liz Hahn Liz Hahn\n", + "23 Matt Harvey Matt Harvey\n", + "24 Matt Deshon Matt Deshon\n", + "25 Michael Puckett Michael Puckett\n", + "26 Mostafa Nabieh Mostafa Nabieh\n", + "27 Nick Swinford Nick Swinford\n", + "28 Radmila Unknown Radmila Unknown\n", + "29 Rama Kattunga Rama Kattunga\n", + "30 Reddy Praveena Reddy Praveena\n", + "31 Robert York Robert York\n", + "32 Ryan Thompson Ryan Thompson\n", + "33 Saravanan Murugan Saravanan Murugan\n", + "34 Sebastian Frohm Sebastian Frohm\n", + "35 Sunny Zanchi Sunny Zanchi" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mentor_list = clean_name_df(mentor_df)\n", + "mentor_list" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "74a3b369", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.microsoft.datawrangler.viewer.v0+json": { + "columns": [ + { + "name": "index", + "rawType": "int64", + "type": "integer" + }, + { + "name": "First name", + "rawType": "object", + "type": "string" + }, + { + "name": "Last name", + "rawType": "object", + "type": "string" + }, + { + "name": "Email", + "rawType": "object", + "type": "string" + }, + { + "name": "Duration", + "rawType": "object", + "type": "string" + }, + { + "name": "Time joined", + "rawType": "object", + "type": "string" + }, + { + "name": "Time exited", + "rawType": "object", + "type": "string" + } + ], + "ref": "65970cf2-41f7-4487-be53-a09db19ff558", + "rows": [ + [ + "0", + "Alex", + "D", + "awda*****@***.com", + "2 hr 25 min", + "6:01 PM", + "8:26 PM" + ], + [ + "1", + "Angela", + "Moore", + "ange*************@***.com", + "2 hr 29 min", + "5:59 PM", + "8:27 PM" + ], + [ + "2", + "Bill", + "Montgomery", + "kyho***@***.com", + "2 hr 27 min", + "5:59 PM", + "8:26 PM" + ], + [ + "3", + "Charles", + "Norman", + "ario****@***.com", + "2 hr 42 min", + "5:45 PM", + "8:27 PM" + ], + [ + "4", + "Christina", + "Porter", + "chri**************@***.com", + "2 hr 4 min", + "6:15 PM", + "8:19 PM" + ], + [ + "5", + "Cindy", + "Wedding", + "cwed*******@***.com", + "2 hr 22 min", + "6:03 PM", + "8:25 PM" + ], + [ + "6", + "Classroom", + "Admin", + "classroom@codeyou.org", + "1 min", + "5:59 PM", + "6:00 PM" + ], + [ + "7", + "Joel", + "Anderson", + "joel*************@***.com", + "2 hr 27 min", + "6:00 PM", + "8:27 PM" + ], + [ + "8", + "Jonathan", + "Chadwell", + "jona*******************@***.com", + "2 hr 24 min", + "6:02 PM", + "8:26 PM" + ], + [ + "9", + "Mendell", + "M", + "menm****@***.com", + "1 hr 58 min", + "6:00 PM", + "8:00 PM" + ], + [ + "10", + "Oli", + "Ivanova", + "olga************@***.com", + "2 hr 14 min", + "5:59 PM", + "8:13 PM" + ], + [ + "11", + "S.", + "Byrnes", + "smby***@***.com", + "1 hr 58 min", + "6:02 PM", + "8:00 PM" + ], + [ + "12", + "Tara Leigh", + "Hylton", + "turr******@***.com", + "2 hr 5 min", + "6:01 PM", + "8:06 PM" + ], + [ + "13", + "Whitney", + "Parks", + "wypa*****@***.com", + "2 hr 38 min", + "6:01 PM", + "8:39 PM" + ], + [ + "14", + "Zachary", + "Young", + "zach*************@***.com", + "2 hr 6 min", + "5:54 PM", + "8:00 PM" + ], + [ + "15", + "Zhenzhen", + "Xie", + "xzz.**********@***.com", + "2 hr 24 min", + "6:01 PM", + "8:26 PM" + ] + ], + "shape": { + "columns": 6, + "rows": 16 + } + }, + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
First nameLast nameEmailDurationTime joinedTime exited
0AlexDawda*****@***.com2 hr 25 min6:01 PM8:26 PM
1AngelaMooreange*************@***.com2 hr 29 min5:59 PM8:27 PM
2BillMontgomerykyho***@***.com2 hr 27 min5:59 PM8:26 PM
3CharlesNormanario****@***.com2 hr 42 min5:45 PM8:27 PM
4ChristinaPorterchri**************@***.com2 hr 4 min6:15 PM8:19 PM
5CindyWeddingcwed*******@***.com2 hr 22 min6:03 PM8:25 PM
6ClassroomAdminclassroom@codeyou.org1 min5:59 PM6:00 PM
7JoelAndersonjoel*************@***.com2 hr 27 min6:00 PM8:27 PM
8JonathanChadwelljona*******************@***.com2 hr 24 min6:02 PM8:26 PM
9MendellMmenm****@***.com1 hr 58 min6:00 PM8:00 PM
10OliIvanovaolga************@***.com2 hr 14 min5:59 PM8:13 PM
11S.Byrnessmby***@***.com1 hr 58 min6:02 PM8:00 PM
12Tara LeighHyltonturr******@***.com2 hr 5 min6:01 PM8:06 PM
13WhitneyParkswypa*****@***.com2 hr 38 min6:01 PM8:39 PM
14ZacharyYoungzach*************@***.com2 hr 6 min5:54 PM8:00 PM
15ZhenzhenXiexzz.**********@***.com2 hr 24 min6:01 PM8:26 PM
\n", + "
" + ], + "text/plain": [ + " First name Last name Email Duration \\\n", + "0 Alex D awda*****@***.com 2 hr 25 min \n", + "1 Angela Moore ange*************@***.com 2 hr 29 min \n", + "2 Bill Montgomery kyho***@***.com 2 hr 27 min \n", + "3 Charles Norman ario****@***.com 2 hr 42 min \n", + "4 Christina Porter chri**************@***.com 2 hr 4 min \n", + "5 Cindy Wedding cwed*******@***.com 2 hr 22 min \n", + "6 Classroom Admin classroom@codeyou.org 1 min \n", + "7 Joel Anderson joel*************@***.com 2 hr 27 min \n", + "8 Jonathan Chadwell jona*******************@***.com 2 hr 24 min \n", + "9 Mendell M menm****@***.com 1 hr 58 min \n", + "10 Oli Ivanova olga************@***.com 2 hr 14 min \n", + "11 S. Byrnes smby***@***.com 1 hr 58 min \n", + "12 Tara Leigh Hylton turr******@***.com 2 hr 5 min \n", + "13 Whitney Parks wypa*****@***.com 2 hr 38 min \n", + "14 Zachary Young zach*************@***.com 2 hr 6 min \n", + "15 Zhenzhen Xie xzz.**********@***.com 2 hr 24 min \n", + "\n", + " Time joined Time exited \n", + "0 6:01 PM 8:26 PM \n", + "1 5:59 PM 8:27 PM \n", + "2 5:59 PM 8:26 PM \n", + "3 5:45 PM 8:27 PM \n", + "4 6:15 PM 8:19 PM \n", + "5 6:03 PM 8:25 PM \n", + "6 5:59 PM 6:00 PM \n", + "7 6:00 PM 8:27 PM \n", + "8 6:02 PM 8:26 PM \n", + "9 6:00 PM 8:00 PM \n", + "10 5:59 PM 8:13 PM \n", + "11 6:02 PM 8:00 PM \n", + "12 6:01 PM 8:06 PM \n", + "13 6:01 PM 8:39 PM \n", + "14 5:54 PM 8:00 PM \n", + "15 6:01 PM 8:26 PM " + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "meeting_1" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "00cc7690", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.microsoft.datawrangler.viewer.v0+json": { + "columns": [ + { + "name": "index", + "rawType": "int64", + "type": "integer" + }, + { + "name": "First Name", + "rawType": "object", + "type": "string" + }, + { + "name": "Last Name", + "rawType": "object", + "type": "string" + }, + { + "name": "Email", + "rawType": "object", + "type": "string" + }, + { + "name": "Duration", + "rawType": "object", + "type": "string" + }, + { + "name": "Time Joined", + "rawType": "datetime64[ns]", + "type": "datetime" + }, + { + "name": "Time Exited", + "rawType": "datetime64[ns]", + "type": "datetime" + }, + { + "name": "Duration In Minutes", + "rawType": "float64", + "type": "float" + }, + { + "name": "Full Name", + "rawType": "object", + "type": "string" + } + ], + "ref": "c89623ed-0d1b-4127-8b03-610b62a0d128", + "rows": [ + [ + "0", + "Alex", + "D", + "awda*****@***.com", + "2 hr 25 min", + "1900-01-01 18:01:00", + "1900-01-01 20:26:00", + "145.0", + "Alex D" + ], + [ + "1", + "Angela", + "Moore", + "ange*************@***.com", + "2 hr 29 min", + "1900-01-01 17:59:00", + "1900-01-01 20:27:00", + "148.0", + "Angela Moore" + ], + [ + "2", + "Bill", + "Montgomery", + "kyho***@***.com", + "2 hr 27 min", + "1900-01-01 17:59:00", + "1900-01-01 20:26:00", + "147.0", + "Bill Montgomery" + ], + [ + "3", + "Charles", + "Norman", + "ario****@***.com", + "2 hr 42 min", + "1900-01-01 17:45:00", + "1900-01-01 20:27:00", + "162.0", + "Charles Norman" + ], + [ + "4", + "Christina", + "Porter", + "chri**************@***.com", + "2 hr 4 min", + "1900-01-01 18:15:00", + "1900-01-01 20:19:00", + "124.0", + "Christina Porter" + ], + [ + "5", + "Cindy", + "Wedding", + "cwed*******@***.com", + "2 hr 22 min", + "1900-01-01 18:03:00", + "1900-01-01 20:25:00", + "142.0", + "Cindy Wedding" + ], + [ + "6", + "Classroom", + "Admin", + "classroom@codeyou.org", + "1 min", + "1900-01-01 17:59:00", + "1900-01-01 18:00:00", + "1.0", + "Classroom Admin" + ], + [ + "7", + "Joel", + "Anderson", + "joel*************@***.com", + "2 hr 27 min", + "1900-01-01 18:00:00", + "1900-01-01 20:27:00", + "147.0", + "Joel Anderson" + ], + [ + "8", + "Jonathan", + "Chadwell", + "jona*******************@***.com", + "2 hr 24 min", + "1900-01-01 18:02:00", + "1900-01-01 20:26:00", + "144.0", + "Jonathan Chadwell" + ], + [ + "9", + "Mendell", + "M", + "menm****@***.com", + "1 hr 58 min", + "1900-01-01 18:00:00", + "1900-01-01 20:00:00", + "120.0", + "Mendell M" + ], + [ + "10", + "Oli", + "Ivanova", + "olga************@***.com", + "2 hr 14 min", + "1900-01-01 17:59:00", + "1900-01-01 20:13:00", + "134.0", + "Oli Ivanova" + ], + [ + "11", + "S.", + "Byrnes", + "smby***@***.com", + "1 hr 58 min", + "1900-01-01 18:02:00", + "1900-01-01 20:00:00", + "118.0", + "S. Byrnes" + ], + [ + "12", + "Tara Leigh", + "Hylton", + "turr******@***.com", + "2 hr 5 min", + "1900-01-01 18:01:00", + "1900-01-01 20:06:00", + "125.0", + "Tara Leigh Hylton" + ], + [ + "13", + "Whitney", + "Parks", + "wypa*****@***.com", + "2 hr 38 min", + "1900-01-01 18:01:00", + "1900-01-01 20:39:00", + "158.0", + "Whitney Parks" + ], + [ + "14", + "Zachary", + "Young", + "zach*************@***.com", + "2 hr 6 min", + "1900-01-01 17:54:00", + "1900-01-01 20:00:00", + "126.0", + "Zachary Young" + ], + [ + "15", + "Zhenzhen", + "Xie", + "xzz.**********@***.com", + "2 hr 24 min", + "1900-01-01 18:01:00", + "1900-01-01 20:26:00", + "145.0", + "Zhenzhen Xie" + ] + ], + "shape": { + "columns": 8, + "rows": 16 + } + }, + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
First NameLast NameEmailDurationTime JoinedTime ExitedDuration In MinutesFull Name
0AlexDawda*****@***.com2 hr 25 min1900-01-01 18:01:001900-01-01 20:26:00145.0Alex D
1AngelaMooreange*************@***.com2 hr 29 min1900-01-01 17:59:001900-01-01 20:27:00148.0Angela Moore
2BillMontgomerykyho***@***.com2 hr 27 min1900-01-01 17:59:001900-01-01 20:26:00147.0Bill Montgomery
3CharlesNormanario****@***.com2 hr 42 min1900-01-01 17:45:001900-01-01 20:27:00162.0Charles Norman
4ChristinaPorterchri**************@***.com2 hr 4 min1900-01-01 18:15:001900-01-01 20:19:00124.0Christina Porter
5CindyWeddingcwed*******@***.com2 hr 22 min1900-01-01 18:03:001900-01-01 20:25:00142.0Cindy Wedding
6ClassroomAdminclassroom@codeyou.org1 min1900-01-01 17:59:001900-01-01 18:00:001.0Classroom Admin
7JoelAndersonjoel*************@***.com2 hr 27 min1900-01-01 18:00:001900-01-01 20:27:00147.0Joel Anderson
8JonathanChadwelljona*******************@***.com2 hr 24 min1900-01-01 18:02:001900-01-01 20:26:00144.0Jonathan Chadwell
9MendellMmenm****@***.com1 hr 58 min1900-01-01 18:00:001900-01-01 20:00:00120.0Mendell M
10OliIvanovaolga************@***.com2 hr 14 min1900-01-01 17:59:001900-01-01 20:13:00134.0Oli Ivanova
11S.Byrnessmby***@***.com1 hr 58 min1900-01-01 18:02:001900-01-01 20:00:00118.0S. Byrnes
12Tara LeighHyltonturr******@***.com2 hr 5 min1900-01-01 18:01:001900-01-01 20:06:00125.0Tara Leigh Hylton
13WhitneyParkswypa*****@***.com2 hr 38 min1900-01-01 18:01:001900-01-01 20:39:00158.0Whitney Parks
14ZacharyYoungzach*************@***.com2 hr 6 min1900-01-01 17:54:001900-01-01 20:00:00126.0Zachary Young
15ZhenzhenXiexzz.**********@***.com2 hr 24 min1900-01-01 18:01:001900-01-01 20:26:00145.0Zhenzhen Xie
\n", + "
" + ], + "text/plain": [ + " First Name Last Name Email Duration \\\n", + "0 Alex D awda*****@***.com 2 hr 25 min \n", + "1 Angela Moore ange*************@***.com 2 hr 29 min \n", + "2 Bill Montgomery kyho***@***.com 2 hr 27 min \n", + "3 Charles Norman ario****@***.com 2 hr 42 min \n", "4 Christina Porter chri**************@***.com 2 hr 4 min \n", "5 Cindy Wedding cwed*******@***.com 2 hr 22 min \n", "6 Classroom Admin classroom@codeyou.org 1 min \n", @@ -2893,72 +4553,566 @@ "14 Zachary Young zach*************@***.com 2 hr 6 min \n", "15 Zhenzhen Xie xzz.**********@***.com 2 hr 24 min \n", "\n", - " Time Joined Time Exited Duration In Minutes \\\n", - "0 1900-01-01 18:01:00 1900-01-01 20:26:00 145.0 \n", - "1 1900-01-01 17:59:00 1900-01-01 20:27:00 148.0 \n", - "2 1900-01-01 17:59:00 1900-01-01 20:26:00 147.0 \n", - "3 1900-01-01 17:45:00 1900-01-01 20:27:00 162.0 \n", - "4 1900-01-01 18:15:00 1900-01-01 20:19:00 124.0 \n", - "5 1900-01-01 18:03:00 1900-01-01 20:25:00 142.0 \n", - "6 1900-01-01 17:59:00 1900-01-01 18:00:00 1.0 \n", - "7 1900-01-01 18:00:00 1900-01-01 20:27:00 147.0 \n", - "8 1900-01-01 18:02:00 1900-01-01 20:26:00 144.0 \n", - "9 1900-01-01 18:00:00 1900-01-01 20:00:00 120.0 \n", - "10 1900-01-01 17:59:00 1900-01-01 20:13:00 134.0 \n", - "11 1900-01-01 18:02:00 1900-01-01 20:00:00 118.0 \n", - "12 1900-01-01 18:01:00 1900-01-01 20:06:00 125.0 \n", - "13 1900-01-01 18:01:00 1900-01-01 20:39:00 158.0 \n", - "14 1900-01-01 17:54:00 1900-01-01 20:00:00 126.0 \n", - "15 1900-01-01 18:01:00 1900-01-01 20:26:00 145.0 \n", + " Time Joined Time Exited Duration In Minutes \\\n", + "0 1900-01-01 18:01:00 1900-01-01 20:26:00 145.0 \n", + "1 1900-01-01 17:59:00 1900-01-01 20:27:00 148.0 \n", + "2 1900-01-01 17:59:00 1900-01-01 20:26:00 147.0 \n", + "3 1900-01-01 17:45:00 1900-01-01 20:27:00 162.0 \n", + "4 1900-01-01 18:15:00 1900-01-01 20:19:00 124.0 \n", + "5 1900-01-01 18:03:00 1900-01-01 20:25:00 142.0 \n", + "6 1900-01-01 17:59:00 1900-01-01 18:00:00 1.0 \n", + "7 1900-01-01 18:00:00 1900-01-01 20:27:00 147.0 \n", + "8 1900-01-01 18:02:00 1900-01-01 20:26:00 144.0 \n", + "9 1900-01-01 18:00:00 1900-01-01 20:00:00 120.0 \n", + "10 1900-01-01 17:59:00 1900-01-01 20:13:00 134.0 \n", + "11 1900-01-01 18:02:00 1900-01-01 20:00:00 118.0 \n", + "12 1900-01-01 18:01:00 1900-01-01 20:06:00 125.0 \n", + "13 1900-01-01 18:01:00 1900-01-01 20:39:00 158.0 \n", + "14 1900-01-01 17:54:00 1900-01-01 20:00:00 126.0 \n", + "15 1900-01-01 18:01:00 1900-01-01 20:26:00 145.0 \n", + "\n", + " Full Name \n", + "0 Alex D \n", + "1 Angela Moore \n", + "2 Bill Montgomery \n", + "3 Charles Norman \n", + "4 Christina Porter \n", + "5 Cindy Wedding \n", + "6 Classroom Admin \n", + "7 Joel Anderson \n", + "8 Jonathan Chadwell \n", + "9 Mendell M \n", + "10 Oli Ivanova \n", + "11 S. Byrnes \n", + "12 Tara Leigh Hylton \n", + "13 Whitney Parks \n", + "14 Zachary Young \n", + "15 Zhenzhen Xie " + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "test = process_meeting_times(meeting_1)\n", + "test = add_full_name(test)\n", + "test" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "838ca4e1", + "metadata": {}, + "outputs": [], + "source": [ + "def clean_meeting(df: pd.DataFrame) -> pd.DataFrame:\n", + " df = process_meeting_times(df)\n", + " df = df.apply(split_names, 1) \n", + " df = add_full_name(df)\n", + " col_to_keep = ['Full Name', 'Duration In Minutes']\n", + " return df[col_to_keep].copy()" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "03fa1b54", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.microsoft.datawrangler.viewer.v0+json": { + "columns": [ + { + "name": "index", + "rawType": "int64", + "type": "integer" + }, + { + "name": "Full Name", + "rawType": "object", + "type": "string" + }, + { + "name": "Duration In Minutes", + "rawType": "float64", + "type": "float" + } + ], + "ref": "ca940049-68e9-41e5-8d7d-ca3da60a21f2", + "rows": [ + [ + "0", + "Alex D", + "145.0" + ], + [ + "1", + "Angela Moore", + "148.0" + ], + [ + "2", + "Bill Montgomery", + "147.0" + ], + [ + "3", + "Charles Norman", + "162.0" + ], + [ + "4", + "Christina Porter", + "124.0" + ], + [ + "5", + "Cindy Wedding", + "142.0" + ], + [ + "6", + "Classroom Admin", + "1.0" + ], + [ + "7", + "Joel Anderson", + "147.0" + ], + [ + "8", + "Jonathan Chadwell", + "144.0" + ], + [ + "9", + "Mendell M", + "120.0" + ], + [ + "10", + "Oli Ivanova", + "134.0" + ], + [ + "11", + "S. Byrnes", + "118.0" + ], + [ + "12", + "Tara Leigh Hylton", + "125.0" + ], + [ + "13", + "Whitney Parks", + "158.0" + ], + [ + "14", + "Zachary Young", + "126.0" + ], + [ + "15", + "Zhenzhen Xie", + "145.0" + ] + ], + "shape": { + "columns": 2, + "rows": 16 + } + }, + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Full NameDuration In Minutes
0Alex D145.0
1Angela Moore148.0
2Bill Montgomery147.0
3Charles Norman162.0
4Christina Porter124.0
5Cindy Wedding142.0
6Classroom Admin1.0
7Joel Anderson147.0
8Jonathan Chadwell144.0
9Mendell M120.0
10Oli Ivanova134.0
11S. Byrnes118.0
12Tara Leigh Hylton125.0
13Whitney Parks158.0
14Zachary Young126.0
15Zhenzhen Xie145.0
\n", + "
" + ], + "text/plain": [ + " Full Name Duration In Minutes\n", + "0 Alex D 145.0\n", + "1 Angela Moore 148.0\n", + "2 Bill Montgomery 147.0\n", + "3 Charles Norman 162.0\n", + "4 Christina Porter 124.0\n", + "5 Cindy Wedding 142.0\n", + "6 Classroom Admin 1.0\n", + "7 Joel Anderson 147.0\n", + "8 Jonathan Chadwell 144.0\n", + "9 Mendell M 120.0\n", + "10 Oli Ivanova 134.0\n", + "11 S. Byrnes 118.0\n", + "12 Tara Leigh Hylton 125.0\n", + "13 Whitney Parks 158.0\n", + "14 Zachary Young 126.0\n", + "15 Zhenzhen Xie 145.0" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "meeting_1_cleaned = clean_meeting(meeting_1)\n", + "meeting_1_cleaned" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "0edd39e3", + "metadata": {}, + "outputs": [], + "source": [ + "def match_meeting_times(clean_list: pd.DataFrame,clean_meeting_time: pd.DataFrame) -> pd.DataFrame:\n", + " \"\"\"\n", + " Merges two DataFrame containing the name and duration of members that were present for a meeting.\n", + "\n", + " Args:\n", + " clean_list (pd.DataFrame): A DataFrame containing the 'Full Name' column.\n", + " clean_meeting_time (pd.DataFrame): A DataFrame containing 'Duration in Minutes' and 'Full Name' columns.\n", + "\n", + " Returns:\n", + " pd.DataFrame: A DataFrame containing the 'Full Name' and 'Duration in Minutes' columns.\n", + " \"\"\"\n", + " df = pd.merge(clean_list['Full Name'],clean_meeting_time[['Duration In Minutes','Full Name']], how = 'inner',on='Full Name')\n", + " return df" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "78bfd7b7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['Full Name', 'Duration In Minutes'], dtype='object')" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "meeting_1_cleaned.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "976408a3", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.microsoft.datawrangler.viewer.v0+json": { + "columns": [ + { + "name": "index", + "rawType": "int64", + "type": "integer" + }, + { + "name": "Full Name", + "rawType": "object", + "type": "string" + }, + { + "name": "Duration In Minutes", + "rawType": "float64", + "type": "float" + } + ], + "ref": "c2576593-118a-4538-9dca-cccbf494a731", + "rows": [ + [ + "0", + "Alex D", + "145.0" + ], + [ + "1", + "Bill Montgomery", + "147.0" + ], + [ + "2", + "Christina Porter", + "124.0" + ] + ], + "shape": { + "columns": 2, + "rows": 3 + } + }, + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Full NameDuration In Minutes
0Alex D145.0
1Bill Montgomery147.0
2Christina Porter124.0
\n", + "
" + ], + "text/plain": [ + " Full Name Duration In Minutes\n", + "0 Alex D 145.0\n", + "1 Bill Montgomery 147.0\n", + "2 Christina Porter 124.0" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#merge meeting 1 with mentor list to consolidate into list of mentors that where present and how long they where present\n", + "mentor_time = match_meeting_times(mentor_list,meeting_1_cleaned)\n", + "mentor_time" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "4aed423e", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.microsoft.datawrangler.viewer.v0+json": { + "columns": [ + { + "name": "index", + "rawType": "int64", + "type": "integer" + }, + { + "name": "Full Name", + "rawType": "object", + "type": "string" + }, + { + "name": "Duration In Minutes", + "rawType": "float64", + "type": "float" + } + ], + "ref": "2084ac75-17a1-4f56-b4b5-486ce0a46d89", + "rows": [ + [ + "0", + "Classroom Admin", + "1.0" + ] + ], + "shape": { + "columns": 2, + "rows": 1 + } + }, + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Full NameDuration In Minutes
0Classroom Admin1.0
\n", + "
" + ], + "text/plain": [ + " Full Name Duration In Minutes\n", + "0 Classroom Admin 1.0" ] }, - "execution_count": 22, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "test = process_meeting_times(meeting_1)\n", - "test = add_full_name(test)\n", - "test" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "838ca4e1", - "metadata": {}, - "outputs": [], - "source": [ - "def clean_meeting(df: pd.DataFrame) -> pd.DataFrame:\n", - " df = process_meeting_times(df)\n", - " df = add_full_name(df)\n", - " col_to_keep = ['Full Name', 'Duration In Minutes']\n", - " return df[col_to_keep].copy()" + "#merge staff 1 with mentor list to consolidate into list of staff that where present and how long they where present\n", + "staff_time = match_meeting_times(staff_list,meeting_1_cleaned)\n", + "staff_time" ] }, { "cell_type": "code", - "execution_count": 24, - "id": "03fa1b54", + "execution_count": 26, + "id": "2bfdd92e", "metadata": {}, "outputs": [ { @@ -2981,92 +5135,82 @@ "type": "float" } ], - "ref": "0cf2b708-c1d3-43bc-bf65-8f0f3472dcff", + "ref": "7298e034-0e32-4c1d-ad04-f71ca3362181", "rows": [ [ "0", - "Alex D", - "145.0" + "Sheyla Diaz", + "103.0" ], [ "1", - "Angela Moore", - "148.0" + "James Glosser", + "100.0" ], [ "2", - "Bill Montgomery", - "147.0" + "Reed Haddix", + "106.0" ], [ "3", - "Charles Norman", - "162.0" + "John Hankins", + "98.0" ], [ "4", - "Christina Porter", - "124.0" + "Stephanie Jones", + "108.0" ], [ "5", - "Cindy Wedding", - "142.0" + "Aaron Laliberty", + "99.0" ], [ "6", - "Classroom Admin", - "1.0" + "Dakota Mcmullin", + "72.0" ], [ "7", - "Joel Anderson", - "147.0" + "Toni-Ivy Ownn.", + "100.0" ], [ "8", - "Jonathan Chadwell", - "144.0" + "Michael Puckett", + "97.0" ], [ "9", - "Mendell M", - "120.0" + "Leighton Pulliam", + "101.0" ], [ "10", - "Oli Ivanova", - "134.0" + "Ken Quiggins", + "103.0" ], [ "11", - "S. Byrnes", - "118.0" + "Amber Ratliff", + "100.0" ], [ "12", - "Tara Leigh Hylton", - "125.0" + "Jill Schrank", + "102.0" ], [ "13", - "Whitney Parks", - "158.0" - ], - [ - "14", - "Zachary Young", - "126.0" - ], - [ - "15", - "Zhenzhen Xie", - "145.0" + "Huan Song", + "103.0" ] ], "shape": { "columns": 2, - "rows": 16 + "rows": 14 } }, "text/html": [ @@ -3095,150 +5239,94 @@ " \n", " \n", " 0\n", - " Alex D\n", - " 145.0\n", + " Sheyla Diaz\n", + " 103.0\n", " \n", " \n", " 1\n", - " Angela Moore\n", - " 148.0\n", + " James Glosser\n", + " 100.0\n", " \n", " \n", " 2\n", - " Bill Montgomery\n", - " 147.0\n", + " Reed Haddix\n", + " 106.0\n", " \n", " \n", " 3\n", - " Charles Norman\n", - " 162.0\n", + " John Hankins\n", + " 98.0\n", " \n", " \n", " 4\n", - " Christina Porter\n", - " 124.0\n", - " \n", - " \n", - " 5\n", - " Cindy Wedding\n", - " 142.0\n", - " \n", - " \n", - " 6\n", - " Classroom Admin\n", - " 1.0\n", - " \n", - " \n", - " 7\n", - " Joel Anderson\n", - " 147.0\n", - " \n", - " \n", - " 8\n", - " Jonathan Chadwell\n", - " 144.0\n", - " \n", - " \n", - " 9\n", - " Mendell M\n", - " 120.0\n", - " \n", - " \n", - " 10\n", - " Oli Ivanova\n", - " 134.0\n", - " \n", - " \n", - " 11\n", - " S. Byrnes\n", - " 118.0\n", - " \n", - " \n", - " 12\n", - " Tara Leigh Hylton\n", - " 125.0\n", - " \n", - " \n", - " 13\n", - " Whitney Parks\n", - " 158.0\n", - " \n", - " \n", - " 14\n", - " Zachary Young\n", - " 126.0\n", - " \n", - " \n", - " 15\n", - " Zhenzhen Xie\n", - " 145.0\n", - " \n", - " \n", - "\n", - "" - ], - "text/plain": [ - " Full Name Duration In Minutes\n", - "0 Alex D 145.0\n", - "1 Angela Moore 148.0\n", - "2 Bill Montgomery 147.0\n", - "3 Charles Norman 162.0\n", - "4 Christina Porter 124.0\n", - "5 Cindy Wedding 142.0\n", - "6 Classroom Admin 1.0\n", - "7 Joel Anderson 147.0\n", - "8 Jonathan Chadwell 144.0\n", - "9 Mendell M 120.0\n", - "10 Oli Ivanova 134.0\n", - "11 S. Byrnes 118.0\n", - "12 Tara Leigh Hylton 125.0\n", - "13 Whitney Parks 158.0\n", - "14 Zachary Young 126.0\n", - "15 Zhenzhen Xie 145.0" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "meeting_1_cleaned = clean_meeting(meeting_1)\n", - "meeting_1_cleaned" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "0edd39e3", - "metadata": {}, - "outputs": [], - "source": [ - "def match_meeting_times(clean_list: pd.DataFrame,clean_meeting_time: pd.DataFrame) -> pd.DataFrame:\n", - " \"\"\"\n", - " Merges two DataFrame containing the name and duration of members that were present for a meeting.\n", - "\n", - " Args:\n", - " clean_list (pd.DataFrame): A DataFrame containing the 'Full Name' column.\n", - " clean_meeting_time (pd.DataFrame): A DataFrame containing 'Duration in Minutes' and 'Full Name' columns.\n", - "\n", - " Returns:\n", - " pd.DataFrame: A DataFrame containing the 'Full Name' and 'Duration in Minutes' columns.\n", - " \"\"\"\n", - " df = pd.merge(clean_list['Full Name'],clean_meeting_time[['Duration In Minutes','Full Name']], how = 'inner',on='Full Name')\n", - " return df" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "78bfd7b7", - "metadata": {}, - "outputs": [ - { - "data": { + " Stephanie Jones\n", + " 108.0\n", + " \n", + " \n", + " 5\n", + " Aaron Laliberty\n", + " 99.0\n", + " \n", + " \n", + " 6\n", + " Dakota Mcmullin\n", + " 72.0\n", + " \n", + " \n", + " 7\n", + " Toni-Ivy Ownn.\n", + " 100.0\n", + " \n", + " \n", + " 8\n", + " Michael Puckett\n", + " 97.0\n", + " \n", + " \n", + " 9\n", + " Leighton Pulliam\n", + " 101.0\n", + " \n", + " \n", + " 10\n", + " Ken Quiggins\n", + " 103.0\n", + " \n", + " \n", + " 11\n", + " Amber Ratliff\n", + " 100.0\n", + " \n", + " \n", + " 12\n", + " Jill Schrank\n", + " 102.0\n", + " \n", + " \n", + " 13\n", + " Huan Song\n", + " 103.0\n", + " \n", + " \n", + "\n", + "" + ], "text/plain": [ - "Index(['Full Name', 'Duration In Minutes'], dtype='object')" + " Full Name Duration In Minutes\n", + "0 Sheyla Diaz 103.0\n", + "1 James Glosser 100.0\n", + "2 Reed Haddix 106.0\n", + "3 John Hankins 98.0\n", + "4 Stephanie Jones 108.0\n", + "5 Aaron Laliberty 99.0\n", + "6 Dakota Mcmullin 72.0\n", + "7 Toni-Ivy Ownn. 100.0\n", + "8 Michael Puckett 97.0\n", + "9 Leighton Pulliam 101.0\n", + "10 Ken Quiggins 103.0\n", + "11 Amber Ratliff 100.0\n", + "12 Jill Schrank 102.0\n", + "13 Huan Song 103.0" ] }, "execution_count": 26, @@ -3247,13 +5335,14 @@ } ], "source": [ - "meeting_1_cleaned.columns" + "meeting_2_cleaned = clean_meeting(meeting_2)\n", + "meeting_2_cleaned" ] }, { "cell_type": "code", "execution_count": 27, - "id": "976408a3", + "id": "b489007c", "metadata": {}, "outputs": [ { @@ -3276,27 +5365,22 @@ "type": "float" } ], - "ref": "905cda28-178c-434d-aef8-e8a5547a4b60", + "ref": "858666aa-e9bc-4b4a-9a98-0cc6802d186f", "rows": [ [ "0", - "Alex D", - "145.0" + "Ken Quiggins", + "103.0" ], [ "1", - "Bill Montgomery", - "147.0" - ], - [ - "2", - "Christina Porter", - "124.0" + "Michael Puckett", + "97.0" ] ], "shape": { "columns": 2, - "rows": 3 + "rows": 2 } }, "text/html": [ @@ -3325,28 +5409,22 @@ " \n", " \n", " 0\n", - " Alex D\n", - " 145.0\n", + " Ken Quiggins\n", + " 103.0\n", " \n", " \n", " 1\n", - " Bill Montgomery\n", - " 147.0\n", - " \n", - " \n", - " 2\n", - " Christina Porter\n", - " 124.0\n", + " Michael Puckett\n", + " 97.0\n", " \n", " \n", "\n", "" ], "text/plain": [ - " Full Name Duration In Minutes\n", - "0 Alex D 145.0\n", - "1 Bill Montgomery 147.0\n", - "2 Christina Porter 124.0" + " Full Name Duration In Minutes\n", + "0 Ken Quiggins 103.0\n", + "1 Michael Puckett 97.0" ] }, "execution_count": 27, @@ -3355,15 +5433,116 @@ } ], "source": [ - "#merge meeting 1 with mentor list to consolidate into list of mentors that where present and how long they where present\n", - "mentor_time = match_meeting_times(mentor_list,meeting_1_cleaned)\n", - "mentor_time" + "#merge meeting 2 with mentor list to consolidate into list of mentors that where present and how long they where present\n", + "mentor_time_2 = match_meeting_times(mentor_list,meeting_2_cleaned)\n", + "mentor_time_2" ] }, { "cell_type": "code", "execution_count": 28, - "id": "4aed423e", + "id": "20023162", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.microsoft.datawrangler.viewer.v0+json": { + "columns": [ + { + "name": "index", + "rawType": "int64", + "type": "integer" + }, + { + "name": "Full Name", + "rawType": "object", + "type": "string" + }, + { + "name": "Duration In Minutes", + "rawType": "float64", + "type": "float" + } + ], + "ref": "846b7860-4ac3-4fbe-8618-cb62bd8e4e8b", + "rows": [], + "shape": { + "columns": 2, + "rows": 0 + } + }, + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Full NameDuration In Minutes
\n", + "
" + ], + "text/plain": [ + "Empty DataFrame\n", + "Columns: [Full Name, Duration In Minutes]\n", + "Index: []" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#merge meeting 2 with staff list to consolidate into list of staff that where present and how long they where present\n", + "staff_time_2 = match_meeting_times(staff_list,meeting_2_cleaned)\n", + "staff_time_2" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "b88830f9", + "metadata": {}, + "outputs": [], + "source": [ + "def remove_staff_mentor_meeting(meeting: pd.DataFrame, staff_list: pd.DataFrame, mentor_list: pd.DataFrame) -> pd.DataFrame:\n", + " \"\"\"\n", + " Removes staff and mentor names from the meeting list\n", + " Args:\n", + " meeting (pd.DataFrame): meeting being reduced\n", + " staff_list (pd.DataFrame): list of staff names\n", + " mentor_list (pd.DataFrame): list of mentor names\n", + "\n", + " Returns:\n", + " pd.DataFrame: list of members and time duration excluding staff and mentor names\n", + " \"\"\"\n", + " df = meeting[~meeting['Full Name'].isin(mentor_list['Full Name'])]\n", + " df = df[~df['Full Name'].isin(staff_list['Full Name'])]\n", + " return df" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "205ddadf", "metadata": {}, "outputs": [ { @@ -3386,17 +5565,72 @@ "type": "float" } ], - "ref": "d189df7b-0eb0-4d6e-9153-5ae7582fd3c8", + "ref": "7f0809df-c427-4dfa-9e29-5f7379325c17", "rows": [ [ - "0", - "Classroom Admin", - "1.0" + "1", + "Angela Moore", + "148.0" + ], + [ + "3", + "Charles Norman", + "162.0" + ], + [ + "5", + "Cindy Wedding", + "142.0" + ], + [ + "7", + "Joel Anderson", + "147.0" + ], + [ + "8", + "Jonathan Chadwell", + "144.0" + ], + [ + "9", + "Mendell M", + "120.0" + ], + [ + "10", + "Oli Ivanova", + "134.0" + ], + [ + "11", + "S. Byrnes", + "118.0" + ], + [ + "12", + "Tara Leigh Hylton", + "125.0" + ], + [ + "13", + "Whitney Parks", + "158.0" + ], + [ + "14", + "Zachary Young", + "126.0" + ], + [ + "15", + "Zhenzhen Xie", + "145.0" ] ], "shape": { "columns": 2, - "rows": 1 + "rows": 12 } }, "text/html": [ @@ -3424,34 +5658,99 @@ " \n", " \n", " \n", - " 0\n", - " Classroom Admin\n", - " 1.0\n", + " 1\n", + " Angela Moore\n", + " 148.0\n", + " \n", + " \n", + " 3\n", + " Charles Norman\n", + " 162.0\n", + " \n", + " \n", + " 5\n", + " Cindy Wedding\n", + " 142.0\n", + " \n", + " \n", + " 7\n", + " Joel Anderson\n", + " 147.0\n", + " \n", + " \n", + " 8\n", + " Jonathan Chadwell\n", + " 144.0\n", + " \n", + " \n", + " 9\n", + " Mendell M\n", + " 120.0\n", + " \n", + " \n", + " 10\n", + " Oli Ivanova\n", + " 134.0\n", + " \n", + " \n", + " 11\n", + " S. Byrnes\n", + " 118.0\n", + " \n", + " \n", + " 12\n", + " Tara Leigh Hylton\n", + " 125.0\n", + " \n", + " \n", + " 13\n", + " Whitney Parks\n", + " 158.0\n", + " \n", + " \n", + " 14\n", + " Zachary Young\n", + " 126.0\n", + " \n", + " \n", + " 15\n", + " Zhenzhen Xie\n", + " 145.0\n", " \n", " \n", "\n", "" ], "text/plain": [ - " Full Name Duration In Minutes\n", - "0 Classroom Admin 1.0" + " Full Name Duration In Minutes\n", + "1 Angela Moore 148.0\n", + "3 Charles Norman 162.0\n", + "5 Cindy Wedding 142.0\n", + "7 Joel Anderson 147.0\n", + "8 Jonathan Chadwell 144.0\n", + "9 Mendell M 120.0\n", + "10 Oli Ivanova 134.0\n", + "11 S. Byrnes 118.0\n", + "12 Tara Leigh Hylton 125.0\n", + "13 Whitney Parks 158.0\n", + "14 Zachary Young 126.0\n", + "15 Zhenzhen Xie 145.0" ] }, - "execution_count": 28, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "#merge staff 1 with mentor list to consolidate into list of staff that where present and how long they where present\n", - "staff_time = match_meeting_times(staff_list,meeting_1_cleaned)\n", - "staff_time" + "meeting_1_students = remove_staff_mentor_meeting(meeting_1_cleaned,staff_list,mentor_list)\n", + "meeting_1_students" ] }, { "cell_type": "code", - "execution_count": 29, - "id": "2bfdd92e", + "execution_count": 31, + "id": "d21aae8a", "metadata": {}, "outputs": [ { @@ -3474,7 +5773,7 @@ "type": "float" } ], - "ref": "4ed2bca1-3399-4123-9c07-035b5205d79f", + "ref": "181f3efd-72e4-4ad1-b55d-66b776ef8187", "rows": [ [ "0", @@ -3516,21 +5815,11 @@ "Toni-Ivy Ownn.", "100.0" ], - [ - "8", - "Michael Puckett", - "97.0" - ], [ "9", "Leighton Pulliam", "101.0" ], - [ - "10", - "Ken Quiggins", - "103.0" - ], [ "11", "Amber Ratliff", @@ -3549,7 +5838,7 @@ ], "shape": { "columns": 2, - "rows": 14 + "rows": 12 } }, "text/html": [ @@ -3617,21 +5906,11 @@ " 100.0\n", " \n", " \n", - " 8\n", - " Michael Puckett\n", - " 97.0\n", - " \n", - " \n", " 9\n", " Leighton Pulliam\n", " 101.0\n", " \n", " \n", - " 10\n", - " Ken Quiggins\n", - " 103.0\n", - " \n", - " \n", " 11\n", " Amber Ratliff\n", " 100.0\n", @@ -3660,28 +5939,51 @@ "5 Aaron Laliberty 99.0\n", "6 Dakota Mcmullin 72.0\n", "7 Toni-Ivy Ownn. 100.0\n", - "8 Michael Puckett 97.0\n", "9 Leighton Pulliam 101.0\n", - "10 Ken Quiggins 103.0\n", "11 Amber Ratliff 100.0\n", "12 Jill Schrank 102.0\n", "13 Huan Song 103.0" ] }, - "execution_count": 29, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "meeting_2_cleaned = clean_meeting(meeting_2)\n", - "meeting_2_cleaned" + "meeting_2_students = remove_staff_mentor_meeting(meeting_2_cleaned,staff_list,mentor_list)\n", + "meeting_2_students" ] }, { "cell_type": "code", - "execution_count": 30, - "id": "b489007c", + "execution_count": 32, + "id": "007cf203", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'wrt-nsga-feo'" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#temp work for isolating meeting id from file name\n", + "class_report = '2025-07-29 17_45 wrt-nsga-feo Attendance Report.xlsx'\n", + "data_class_id = re.search(r'([a-z]+-[a-z]+-[a-z]+)',class_report)\n", + "data_class_id = data_class_id.group(1)\n", + "data_class_id" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "835e290e", "metadata": {}, "outputs": [ { @@ -3694,32 +5996,144 @@ "type": "integer" }, { - "name": "Full Name", + "name": "First Name", "rawType": "object", "type": "string" }, { - "name": "Duration In Minutes", - "rawType": "float64", - "type": "float" + "name": "Last Name", + "rawType": "object", + "type": "string" + }, + { + "name": "Meet Code", + "rawType": "object", + "type": "string" + }, + { + "name": "Full Name", + "rawType": "object", + "type": "string" } ], - "ref": "9891fe4f-cc39-4f20-997b-483cccd81063", + "ref": "34302adb-a08e-42a1-b48c-e29f263b05df", "rows": [ [ - "0", - "Ken Quiggins", - "103.0" + "0", + "Alex", + "D", + "wrt-nsga-feo", + "Alex D" + ], + [ + "1", + "Angela", + "Moore", + "wrt-nsga-feo", + "Angela Moore" + ], + [ + "2", + "Bill", + "Montgomery", + "wrt-nsga-feo", + "Bill Montgomery" + ], + [ + "3", + "Charles", + "Norman", + "wrt-nsga-feo", + "Charles Norman" + ], + [ + "4", + "Christina", + "Porter", + "wrt-nsga-feo", + "Christina Porter" + ], + [ + "5", + "Cindy", + "Wedding", + "wrt-nsga-feo", + "Cindy Wedding" + ], + [ + "6", + "Classroom", + "Admin", + "wrt-nsga-feo", + "Classroom Admin" + ], + [ + "7", + "Joel", + "Anderson", + "wrt-nsga-feo", + "Joel Anderson" + ], + [ + "8", + "Jonathan", + "Chadwell", + "wrt-nsga-feo", + "Jonathan Chadwell" + ], + [ + "9", + "Mendell", + "M", + "wrt-nsga-feo", + "Mendell M" + ], + [ + "10", + "Oli", + "Ivanova", + "wrt-nsga-feo", + "Oli Ivanova" + ], + [ + "11", + "S.", + "Byrnes", + "wrt-nsga-feo", + "S. Byrnes" + ], + [ + "12", + "Tara Leigh", + "Hylton", + "wrt-nsga-feo", + "Tara Leigh Hylton" + ], + [ + "13", + "Whitney", + "Parks", + "wrt-nsga-feo", + "Whitney Parks" + ], + [ + "14", + "Zachary", + "Young", + "wrt-nsga-feo", + "Zachary Young" ], [ - "1", - "Michael Puckett", - "97.0" + "15", + "Zhenzhen", + "Xie", + "wrt-nsga-feo", + "Zhenzhen Xie" ] ], "shape": { - "columns": 2, - "rows": 2 + "columns": 4, + "rows": 16 } }, "text/html": [ @@ -3741,46 +6155,164 @@ " \n", " \n", " \n", + " First Name\n", + " Last Name\n", + " Meet Code\n", " Full Name\n", - " Duration In Minutes\n", " \n", " \n", " \n", " \n", " 0\n", - " Ken Quiggins\n", - " 103.0\n", + " Alex\n", + " D\n", + " wrt-nsga-feo\n", + " Alex D\n", " \n", " \n", " 1\n", - " Michael Puckett\n", - " 97.0\n", + " Angela\n", + " Moore\n", + " wrt-nsga-feo\n", + " Angela Moore\n", + " \n", + " \n", + " 2\n", + " Bill\n", + " Montgomery\n", + " wrt-nsga-feo\n", + " Bill Montgomery\n", + " \n", + " \n", + " 3\n", + " Charles\n", + " Norman\n", + " wrt-nsga-feo\n", + " Charles Norman\n", + " \n", + " \n", + " 4\n", + " Christina\n", + " Porter\n", + " wrt-nsga-feo\n", + " Christina Porter\n", + " \n", + " \n", + " 5\n", + " Cindy\n", + " Wedding\n", + " wrt-nsga-feo\n", + " Cindy Wedding\n", + " \n", + " \n", + " 6\n", + " Classroom\n", + " Admin\n", + " wrt-nsga-feo\n", + " Classroom Admin\n", + " \n", + " \n", + " 7\n", + " Joel\n", + " Anderson\n", + " wrt-nsga-feo\n", + " Joel Anderson\n", + " \n", + " \n", + " 8\n", + " Jonathan\n", + " Chadwell\n", + " wrt-nsga-feo\n", + " Jonathan Chadwell\n", + " \n", + " \n", + " 9\n", + " Mendell\n", + " M\n", + " wrt-nsga-feo\n", + " Mendell M\n", + " \n", + " \n", + " 10\n", + " Oli\n", + " Ivanova\n", + " wrt-nsga-feo\n", + " Oli Ivanova\n", + " \n", + " \n", + " 11\n", + " S.\n", + " Byrnes\n", + " wrt-nsga-feo\n", + " S. Byrnes\n", + " \n", + " \n", + " 12\n", + " Tara Leigh\n", + " Hylton\n", + " wrt-nsga-feo\n", + " Tara Leigh Hylton\n", + " \n", + " \n", + " 13\n", + " Whitney\n", + " Parks\n", + " wrt-nsga-feo\n", + " Whitney Parks\n", + " \n", + " \n", + " 14\n", + " Zachary\n", + " Young\n", + " wrt-nsga-feo\n", + " Zachary Young\n", + " \n", + " \n", + " 15\n", + " Zhenzhen\n", + " Xie\n", + " wrt-nsga-feo\n", + " Zhenzhen Xie\n", " \n", " \n", "\n", "" ], "text/plain": [ - " Full Name Duration In Minutes\n", - "0 Ken Quiggins 103.0\n", - "1 Michael Puckett 97.0" + " First Name Last Name Meet Code Full Name\n", + "0 Alex D wrt-nsga-feo Alex D\n", + "1 Angela Moore wrt-nsga-feo Angela Moore\n", + "2 Bill Montgomery wrt-nsga-feo Bill Montgomery\n", + "3 Charles Norman wrt-nsga-feo Charles Norman\n", + "4 Christina Porter wrt-nsga-feo Christina Porter\n", + "5 Cindy Wedding wrt-nsga-feo Cindy Wedding\n", + "6 Classroom Admin wrt-nsga-feo Classroom Admin\n", + "7 Joel Anderson wrt-nsga-feo Joel Anderson\n", + "8 Jonathan Chadwell wrt-nsga-feo Jonathan Chadwell\n", + "9 Mendell M wrt-nsga-feo Mendell M\n", + "10 Oli Ivanova wrt-nsga-feo Oli Ivanova\n", + "11 S. Byrnes wrt-nsga-feo S. Byrnes\n", + "12 Tara Leigh Hylton wrt-nsga-feo Tara Leigh Hylton\n", + "13 Whitney Parks wrt-nsga-feo Whitney Parks\n", + "14 Zachary Young wrt-nsga-feo Zachary Young\n", + "15 Zhenzhen Xie wrt-nsga-feo Zhenzhen Xie" ] }, - "execution_count": 30, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "#merge meeting 2 with mentor list to consolidate into list of mentors that where present and how long they where present\n", - "mentor_time_2 = match_meeting_times(mentor_list,meeting_2_cleaned)\n", - "mentor_time_2" + "#create list of students in data class\n", + "data_class_list = student_list[student_list['Meet Code'] == data_class_id]\n", + "data_class_list" ] }, { "cell_type": "code", - "execution_count": 31, - "id": "20023162", + "execution_count": null, + "id": "375bc876", "metadata": {}, "outputs": [ { @@ -3793,182 +6325,115 @@ "type": "integer" }, { - "name": "Full Name", + "name": "First Name", "rawType": "object", "type": "string" }, { - "name": "Duration In Minutes", - "rawType": "float64", - "type": "float" - } - ], - "ref": "e061b667-b614-48a6-9380-e74e5eec7567", - "rows": [], - "shape": { - "columns": 2, - "rows": 0 - } - }, - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Full NameDuration In Minutes
\n", - "
" - ], - "text/plain": [ - "Empty DataFrame\n", - "Columns: [Full Name, Duration In Minutes]\n", - "Index: []" - ] - }, - "execution_count": 31, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "#merge meeting 2 with staff list to consolidate into list of staff that where present and how long they where present\n", - "staff_time_2 = match_meeting_times(staff_list,meeting_2_cleaned)\n", - "staff_time_2" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "id": "b88830f9", - "metadata": {}, - "outputs": [], - "source": [ - "def remove_staff_mentor_meeting(meeting: pd.DataFrame, staff_list: pd.DataFrame, mentor_list: pd.DataFrame) -> pd.DataFrame:\n", - " \"\"\"\n", - " Removes staff and mentor names from the meeting list\n", - " Args:\n", - " meeting (pd.DataFrame): meeting being reduced\n", - " staff_list (pd.DataFrame): list of staff names\n", - " mentor_list (pd.DataFrame): list of mentor names\n", - "\n", - " Returns:\n", - " pd.DataFrame: list of members and time duration excluding staff and mentor names\n", - " \"\"\"\n", - " df = meeting[~meeting['Full Name'].isin(mentor_list['Full Name'])]\n", - " df = df[~df['Full Name'].isin(staff_list['Full Name'])]\n", - " return df" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "id": "205ddadf", - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.microsoft.datawrangler.viewer.v0+json": { - "columns": [ - { - "name": "index", - "rawType": "int64", - "type": "integer" + "name": "Last Name", + "rawType": "object", + "type": "string" }, { - "name": "Full Name", + "name": "Meet Code", "rawType": "object", "type": "string" }, { - "name": "Duration In Minutes", - "rawType": "float64", - "type": "float" + "name": "Full Name", + "rawType": "object", + "type": "string" } ], - "ref": "4d261239-c17a-4429-b3b4-fb2876c075ab", + "ref": "c87f5b46-dbec-44ba-8111-1871e6f8e04f", "rows": [ [ "1", - "Angela Moore", - "148.0" + "Angela", + "Moore", + "wrt-nsga-feo", + "Angela Moore" ], [ "3", - "Charles Norman", - "162.0" + "Charles", + "Norman", + "wrt-nsga-feo", + "Charles Norman" ], [ "5", - "Cindy Wedding", - "142.0" + "Cindy", + "Wedding", + "wrt-nsga-feo", + "Cindy Wedding" ], [ "7", - "Joel Anderson", - "147.0" + "Joel", + "Anderson", + "wrt-nsga-feo", + "Joel Anderson" ], [ "8", - "Jonathan Chadwell", - "144.0" + "Jonathan", + "Chadwell", + "wrt-nsga-feo", + "Jonathan Chadwell" ], [ "9", - "Mendell M", - "120.0" + "Mendell", + "M", + "wrt-nsga-feo", + "Mendell M" ], [ "10", - "Oli Ivanova", - "134.0" + "Oli", + "Ivanova", + "wrt-nsga-feo", + "Oli Ivanova" ], [ "11", - "S. Byrnes", - "118.0" + "S.", + "Byrnes", + "wrt-nsga-feo", + "S. Byrnes" ], [ "12", - "Tara Leigh Hylton", - "125.0" + "Tara Leigh", + "Hylton", + "wrt-nsga-feo", + "Tara Leigh Hylton" ], [ "13", - "Whitney Parks", - "158.0" + "Whitney", + "Parks", + "wrt-nsga-feo", + "Whitney Parks" ], [ "14", - "Zachary Young", - "126.0" + "Zachary", + "Young", + "wrt-nsga-feo", + "Zachary Young" ], [ "15", - "Zhenzhen Xie", - "145.0" + "Zhenzhen", + "Xie", + "wrt-nsga-feo", + "Zhenzhen Xie" ] ], "shape": { - "columns": 2, + "columns": 4, "rows": 12 } }, @@ -3991,105 +6456,132 @@ " \n", " \n", " \n", + " First Name\n", + " Last Name\n", + " Meet Code\n", " Full Name\n", - " Duration In Minutes\n", " \n", " \n", " \n", " \n", " 1\n", + " Angela\n", + " Moore\n", + " wrt-nsga-feo\n", " Angela Moore\n", - " 148.0\n", " \n", " \n", " 3\n", + " Charles\n", + " Norman\n", + " wrt-nsga-feo\n", " Charles Norman\n", - " 162.0\n", " \n", " \n", " 5\n", + " Cindy\n", + " Wedding\n", + " wrt-nsga-feo\n", " Cindy Wedding\n", - " 142.0\n", " \n", " \n", " 7\n", + " Joel\n", + " Anderson\n", + " wrt-nsga-feo\n", " Joel Anderson\n", - " 147.0\n", " \n", " \n", " 8\n", + " Jonathan\n", + " Chadwell\n", + " wrt-nsga-feo\n", " Jonathan Chadwell\n", - " 144.0\n", " \n", " \n", " 9\n", + " Mendell\n", + " M\n", + " wrt-nsga-feo\n", " Mendell M\n", - " 120.0\n", " \n", " \n", " 10\n", + " Oli\n", + " Ivanova\n", + " wrt-nsga-feo\n", " Oli Ivanova\n", - " 134.0\n", " \n", " \n", " 11\n", + " S.\n", + " Byrnes\n", + " wrt-nsga-feo\n", " S. Byrnes\n", - " 118.0\n", " \n", " \n", " 12\n", + " Tara Leigh\n", + " Hylton\n", + " wrt-nsga-feo\n", " Tara Leigh Hylton\n", - " 125.0\n", " \n", " \n", " 13\n", + " Whitney\n", + " Parks\n", + " wrt-nsga-feo\n", " Whitney Parks\n", - " 158.0\n", " \n", " \n", " 14\n", + " Zachary\n", + " Young\n", + " wrt-nsga-feo\n", " Zachary Young\n", - " 126.0\n", " \n", " \n", " 15\n", + " Zhenzhen\n", + " Xie\n", + " wrt-nsga-feo\n", " Zhenzhen Xie\n", - " 145.0\n", " \n", " \n", "\n", "" ], "text/plain": [ - " Full Name Duration In Minutes\n", - "1 Angela Moore 148.0\n", - "3 Charles Norman 162.0\n", - "5 Cindy Wedding 142.0\n", - "7 Joel Anderson 147.0\n", - "8 Jonathan Chadwell 144.0\n", - "9 Mendell M 120.0\n", - "10 Oli Ivanova 134.0\n", - "11 S. Byrnes 118.0\n", - "12 Tara Leigh Hylton 125.0\n", - "13 Whitney Parks 158.0\n", - "14 Zachary Young 126.0\n", - "15 Zhenzhen Xie 145.0" + " First Name Last Name Meet Code Full Name\n", + "1 Angela Moore wrt-nsga-feo Angela Moore\n", + "3 Charles Norman wrt-nsga-feo Charles Norman\n", + "5 Cindy Wedding wrt-nsga-feo Cindy Wedding\n", + "7 Joel Anderson wrt-nsga-feo Joel Anderson\n", + "8 Jonathan Chadwell wrt-nsga-feo Jonathan Chadwell\n", + "9 Mendell M wrt-nsga-feo Mendell M\n", + "10 Oli Ivanova wrt-nsga-feo Oli Ivanova\n", + "11 S. Byrnes wrt-nsga-feo S. Byrnes\n", + "12 Tara Leigh Hylton wrt-nsga-feo Tara Leigh Hylton\n", + "13 Whitney Parks wrt-nsga-feo Whitney Parks\n", + "14 Zachary Young wrt-nsga-feo Zachary Young\n", + "15 Zhenzhen Xie wrt-nsga-feo Zhenzhen Xie" ] }, - "execution_count": 33, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "meeting_1_students = remove_staff_mentor_meeting(meeting_1_cleaned,staff_list,mentor_list)\n", - "meeting_1_students" + "#create list of students in data class that where present for meeting\n", + "meeting_1_students_present = data_class_list[data_class_list['Full Name'].isin(meeting_1_students['Full Name'])]\n", + "meeting_1_students_present" ] }, { "cell_type": "code", - "execution_count": 34, - "id": "d21aae8a", + "execution_count": null, + "id": "fa7cbcde", "metadata": {}, "outputs": [ { @@ -4102,82 +6594,60 @@ "type": "integer" }, { - "name": "Full Name", + "name": "First Name", "rawType": "object", "type": "string" }, { - "name": "Duration In Minutes", - "rawType": "float64", - "type": "float" + "name": "Last Name", + "rawType": "object", + "type": "string" + }, + { + "name": "Meet Code", + "rawType": "object", + "type": "string" + }, + { + "name": "Full Name", + "rawType": "object", + "type": "string" } ], - "ref": "c71a050a-072d-40bc-aaf6-62fc97e49cb9", + "ref": "50f0c3d8-35c4-4b99-8e8e-ab1fe65364e1", "rows": [ [ "0", - "Sheyla Diaz", - "103.0" - ], - [ - "1", - "James Glosser", - "100.0" + "Alex", + "D", + "wrt-nsga-feo", + "Alex D" ], [ "2", - "Reed Haddix", - "106.0" - ], - [ - "3", - "John Hankins", - "98.0" + "Bill", + "Montgomery", + "wrt-nsga-feo", + "Bill Montgomery" ], [ "4", - "Stephanie Jones", - "108.0" - ], - [ - "5", - "Aaron Laliberty", - "99.0" + "Christina", + "Porter", + "wrt-nsga-feo", + "Christina Porter" ], [ "6", - "Dakota Mcmullin", - "72.0" - ], - [ - "7", - "Toni-Ivy Ownn.", - "100.0" - ], - [ - "9", - "Leighton Pulliam", - "101.0" - ], - [ - "11", - "Amber Ratliff", - "100.0" - ], - [ - "12", - "Jill Schrank", - "102.0" - ], - [ - "13", - "Huan Song", - "103.0" + "Classroom", + "Admin", + "wrt-nsga-feo", + "Classroom Admin" ] ], "shape": { - "columns": 2, - "rows": 12 + "columns": 4, + "rows": 4 } }, "text/html": [ @@ -4199,105 +6669,68 @@ " \n", " \n", " \n", + " First Name\n", + " Last Name\n", + " Meet Code\n", " Full Name\n", - " Duration In Minutes\n", " \n", " \n", " \n", " \n", " 0\n", - " Sheyla Diaz\n", - " 103.0\n", - " \n", - " \n", - " 1\n", - " James Glosser\n", - " 100.0\n", + " Alex\n", + " D\n", + " wrt-nsga-feo\n", + " Alex D\n", " \n", " \n", " 2\n", - " Reed Haddix\n", - " 106.0\n", - " \n", - " \n", - " 3\n", - " John Hankins\n", - " 98.0\n", + " Bill\n", + " Montgomery\n", + " wrt-nsga-feo\n", + " Bill Montgomery\n", " \n", " \n", " 4\n", - " Stephanie Jones\n", - " 108.0\n", - " \n", - " \n", - " 5\n", - " Aaron Laliberty\n", - " 99.0\n", + " Christina\n", + " Porter\n", + " wrt-nsga-feo\n", + " Christina Porter\n", " \n", " \n", " 6\n", - " Dakota Mcmullin\n", - " 72.0\n", - " \n", - " \n", - " 7\n", - " Toni-Ivy Ownn.\n", - " 100.0\n", - " \n", - " \n", - " 9\n", - " Leighton Pulliam\n", - " 101.0\n", - " \n", - " \n", - " 11\n", - " Amber Ratliff\n", - " 100.0\n", - " \n", - " \n", - " 12\n", - " Jill Schrank\n", - " 102.0\n", - " \n", - " \n", - " 13\n", - " Huan Song\n", - " 103.0\n", + " Classroom\n", + " Admin\n", + " wrt-nsga-feo\n", + " Classroom Admin\n", " \n", " \n", "\n", "" ], "text/plain": [ - " Full Name Duration In Minutes\n", - "0 Sheyla Diaz 103.0\n", - "1 James Glosser 100.0\n", - "2 Reed Haddix 106.0\n", - "3 John Hankins 98.0\n", - "4 Stephanie Jones 108.0\n", - "5 Aaron Laliberty 99.0\n", - "6 Dakota Mcmullin 72.0\n", - "7 Toni-Ivy Ownn. 100.0\n", - "9 Leighton Pulliam 101.0\n", - "11 Amber Ratliff 100.0\n", - "12 Jill Schrank 102.0\n", - "13 Huan Song 103.0" + " First Name Last Name Meet Code Full Name\n", + "0 Alex D wrt-nsga-feo Alex D\n", + "2 Bill Montgomery wrt-nsga-feo Bill Montgomery\n", + "4 Christina Porter wrt-nsga-feo Christina Porter\n", + "6 Classroom Admin wrt-nsga-feo Classroom Admin" ] }, - "execution_count": 34, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "meeting_2_students = remove_staff_mentor_meeting(meeting_2_cleaned,staff_list,mentor_list)\n", - "meeting_2_students" + "#creates list of students not present in meeting\n", + "meeting_1_absent = data_class_list[~data_class_list['Full Name'].isin(meeting_1_students['Full Name'])]\n", + "meeting_1_absent" ] }, { "cell_type": "code", "execution_count": null, - "id": "007cf203", + "id": "3f8cf256", "metadata": {}, "outputs": [], "source": []