{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Finding the Two Best Markets to Advertise in an E-learning Product\n", "\n", "In this project, we'll aim to find the two best markets to advertise our product in — we're working for an e-learning company that offers courses on programming. Most of our courses are on web and mobile development, but we also cover many other domains, like data science, game development, etc.\n", "\n", "We'll analyze existing data about new coders to find the best markets to invest in for advertisting. To make our recommendation, we'll try to find out:\n", "\n", "* Where are these new coders located.\n", "* What are the locations with the greatest number of new coders.\n", "* How much money new coders are willing to spend on learning.\n", "\n", "### Summary of Results\n", "\n", "After analyzing the data, the only solid conclusion we reached is that the US would be a good market to advertise in. For the second best market, it wasn't clear-cut what to choose between India and Canada. We decided to send the results to the marketing team so they can use their domain knowledge to take the best decision.\n", "\n", "For more details, please refer to the the full analysis below.\n", "\n", "# Exploring Existing Data to Avoid Supplementary Costs with Surveys\n", "\n", "To avoid spending money on organizing a survey, we'll first try to make use of existing data to determine whether we can reach any reliable result.\n", "\n", "One good candidate for our purpose is [freeCodeCamp's 2017 New Coder Survey](https://medium.freecodecamp.org/we-asked-20-000-people-who-they-are-and-how-theyre-learning-to-code-fff5d668969). [freeCodeCamp](https://www.freecodecamp.org/) is a free e-learning platform that offers courses on web development. Because they run [a popular Medium publication](https://medium.freecodecamp.org/) (over 400,000 followers), their survey attracted new coders with varying interests (not only web development), which is ideal for the purpose of our analysis.\n", "\n", "The survey data is publicly available in [this GitHub repository](https://github.com/freeCodeCamp/2017-new-coder-survey). Below, we'll do a quick exploration of the `2017-fCC-New-Coders-Survey-Data.csv` file stored in the `clean-data` folder of the repository we just mentioned. We'll read in the file using the direct link [here](https://raw.githubusercontent.com/freeCodeCamp/2017-new-coder-survey/master/clean-data/2017-fCC-New-Coders-Survey-Data.csv)." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(18175, 136)\n" ] }, { "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AgeAttendedBootcampBootcampFinishBootcampLoanYesNoBootcampNameBootcampRecommendChildrenNumberCityPopulationCodeEventConferencesCodeEventDjangoGirlsCodeEventFCCCodeEventGameJamCodeEventGirlDevCodeEventHackathonsCodeEventMeetupCodeEventNodeSchoolCodeEventNoneCodeEventOtherCodeEventRailsBridgeCodeEventRailsGirlsCodeEventStartUpWkndCodeEventWkdBootcampsCodeEventWomenCodeCodeEventWorkshopsCommuteTimeCountryCitizenCountryLiveEmploymentFieldEmploymentFieldOtherEmploymentStatusEmploymentStatusOtherExpectedEarningFinanciallySupportingFirstDevJobGenderGenderOtherHasChildrenHasDebtHasFinancialDependentsHasHighSpdInternetHasHomeMortgageHasServedInMilitaryHasStudentDebtHomeMortgageOweHoursLearningID.xID.yIncomeIsEthnicMinorityIsReceiveDisabilitiesBenefitsIsSoftwareDevIsUnderEmployedJobApplyWhenJobInterestBackEndJobInterestDataEngrJobInterestDataSciJobInterestDevOpsJobInterestFrontEndJobInterestFullStackJobInterestGameDevJobInterestInfoSecJobInterestMobileJobInterestOtherJobInterestProjMngrJobInterestQAEngrJobInterestUXJobPrefJobRelocateYesNoJobRoleInterestJobWherePrefLanguageAtHomeMaritalStatusMoneyForLearningMonthsProgrammingNetworkIDPart1EndTimePart1StartTimePart2EndTimePart2StartTimePodcastChangeLogPodcastCodeNewbiePodcastCodePenPodcastDevTeaPodcastDotNETPodcastGiantRobotsPodcastJSAirPodcastJSJabberPodcastNonePodcastOtherPodcastProgThrowdownPodcastRubyRoguesPodcastSEDailyPodcastSERadioPodcastShopTalkPodcastTalkPythonPodcastTheWebAheadResourceCodecademyResourceCodeWarsResourceCourseraResourceCSSResourceEdXResourceEggheadResourceFCCResourceHackerRankResourceKAResourceLyndaResourceMDNResourceOdinProjResourceOtherResourcePluralSightResourceSkillcrushResourceSOResourceTreehouseResourceUdacityResourceUdemyResourceW3SSchoolDegreeSchoolMajorStudentDebtOweYouTubeCodeCourseYouTubeCodingTrainYouTubeCodingTut360YouTubeComputerphileYouTubeDerekBanasYouTubeDevTipsYouTubeEngineeredTruthYouTubeFCCYouTubeFunFunFunctionYouTubeGoogleDevYouTubeLearnCodeYouTubeLevelUpTutsYouTubeMITYouTubeMozillaHacksYouTubeOtherYouTubeSimplilearnYouTubeTheNewBoston
027.00.0NaNNaNNaNNaNNaNmore than 1 millionNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN15 to 29 minutesCanadaCanadasoftware development and ITNaNEmployed for wagesNaNNaNNaNNaNfemaleNaNNaN1.00.01.00.00.00.0NaN15.002d9465b21e8bd09374b0066fb2d5614eb78c1c3ac6cd9052aec557065070fbfNaNNaN0.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNstart your own businessNaNNaNNaNEnglishmarried or domestic partnership150.06.06f1fbc6b2b2017-03-09 00:36:222017-03-09 00:32:592017-03-09 00:59:462017-03-09 00:36:26NaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaN1.0NaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaN1.01.0some college credit, no degreeNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
134.00.0NaNNaNNaNNaNNaNless than 100,000NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNUnited States of AmericaUnited States of AmericaNaNNaNNot working but looking for workNaN35000.0NaNNaNmaleNaNNaN1.00.01.00.00.01.0NaN10.05bfef9ecb211ec4f518cfc1d2a6f3e0c21db37adb60cdcafadfa7dca1b13b6b1NaN0.00.00.0NaNWithin 7 to 12 monthsNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNwork for a nonprofit1.0Full-Stack Web Developerin an office with other developersEnglishsingle, never married80.06.0f8f8be69102017-03-09 00:37:072017-03-09 00:33:262017-03-09 00:38:592017-03-09 00:37:10NaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaN1.0NaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaN1.01.0some college credit, no degreeNaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaN
221.00.0NaNNaNNaNNaNNaNmore than 1 millionNaNNaNNaNNaNNaN1.0NaN1.0NaNNaNNaNNaNNaNNaNNaNNaN15 to 29 minutesUnited States of AmericaUnited States of Americasoftware development and ITNaNEmployed for wagesNaN70000.0NaNNaNmaleNaNNaN0.00.01.0NaN0.0NaNNaN25.014f1863afa9c7de488050b82eb3edd9621ba173828fbe9e27ccebaf4d5166a5513000.01.00.00.00.0Within 7 to 12 months1.0NaNNaN1.01.01.0NaNNaN1.0NaNNaNNaNNaNwork for a medium-sized company1.0Front-End Web Developer, Back-End Web Develo...no preferenceSpanishsingle, never married1000.05.02ed189768e2017-03-09 00:37:582017-03-09 00:33:532017-03-09 00:40:142017-03-09 00:38:021.0NaN1.0NaNNaNNaNNaNNaNNaNCodenewbieNaNNaNNaNNaN1.0NaNNaN1.0NaNNaN1.0NaNNaN1.0NaNNaNNaN1.0NaNNaNNaNNaNNaNNaN1.01.0NaNhigh school diploma or equivalent (GED)NaNNaNNaNNaN1.0NaN1.01.0NaNNaNNaNNaN1.01.0NaNNaNNaNNaNNaN
326.00.0NaNNaNNaNNaNNaNbetween 100,000 and 1 millionNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNI work from homeBrazilBrazilsoftware development and ITNaNEmployed for wagesNaN40000.00.0NaNmaleNaN0.01.01.01.01.00.00.040000.014.091756eb4dc280062a541c25a3d44cfb03be37b558f02daae93a6da10f83f0c7724000.00.00.00.01.0Within the next 6 months1.0NaNNaNNaN1.01.0NaNNaNNaNNaNNaNNaNNaNwork for a medium-sized companyNaNFront-End Web Developer, Full-Stack Web Deve...from homePortuguesemarried or domestic partnership0.05.0dbdc0664d12017-03-09 00:40:132017-03-09 00:37:452017-03-09 00:42:262017-03-09 00:40:18NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.01.0NaNNaNNaN1.0NaNNaNNaNNaN1.0NaNNaNNaNNaNsome college credit, no degreeNaNNaNNaNNaNNaNNaNNaN1.0NaN1.01.0NaNNaN1.0NaNNaNNaNNaNNaN
420.00.0NaNNaNNaNNaNNaNbetween 100,000 and 1 millionNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNPortugalPortugalNaNNaNNot working but looking for workNaN140000.0NaNNaNfemaleNaNNaN0.00.01.0NaN0.0NaNNaN10.0aa3f061a1949a90b27bef7411ecd193fd7c56bbf2c7b62096be9db010e86d96dNaN0.00.00.0NaNWithin 7 to 12 months1.0NaNNaNNaN1.01.0NaN1.01.0NaNNaNNaNNaNwork for a multinational corporation1.0Full-Stack Web Developer, Information Security...in an office with other developersPortuguesesingle, never married0.024.011b0f2d8a92017-03-09 00:42:452017-03-09 00:39:442017-03-09 00:45:422017-03-09 00:42:50NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNbachelor's degreeInformation TechnologyNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
\n", "
" ], "text/plain": [ " Age AttendedBootcamp BootcampFinish BootcampLoanYesNo BootcampName \\\n", "0 27.0 0.0 NaN NaN NaN \n", "1 34.0 0.0 NaN NaN NaN \n", "2 21.0 0.0 NaN NaN NaN \n", "3 26.0 0.0 NaN NaN NaN \n", "4 20.0 0.0 NaN NaN NaN \n", "\n", " BootcampRecommend ChildrenNumber CityPopulation \\\n", "0 NaN NaN more than 1 million \n", "1 NaN NaN less than 100,000 \n", "2 NaN NaN more than 1 million \n", "3 NaN NaN between 100,000 and 1 million \n", "4 NaN NaN between 100,000 and 1 million \n", "\n", " CodeEventConferences CodeEventDjangoGirls CodeEventFCC CodeEventGameJam \\\n", "0 NaN NaN NaN NaN \n", "1 NaN NaN NaN NaN \n", "2 NaN NaN NaN NaN \n", "3 NaN NaN NaN NaN \n", "4 NaN NaN NaN NaN \n", "\n", " CodeEventGirlDev CodeEventHackathons CodeEventMeetup \\\n", "0 NaN NaN NaN \n", "1 NaN NaN NaN \n", "2 NaN 1.0 NaN \n", "3 NaN NaN NaN \n", "4 NaN NaN NaN \n", "\n", " CodeEventNodeSchool CodeEventNone CodeEventOther CodeEventRailsBridge \\\n", "0 NaN NaN NaN NaN \n", "1 NaN NaN NaN NaN \n", "2 1.0 NaN NaN NaN \n", "3 NaN NaN NaN NaN \n", "4 NaN NaN NaN NaN \n", "\n", " CodeEventRailsGirls CodeEventStartUpWknd CodeEventWkdBootcamps \\\n", "0 NaN NaN NaN \n", "1 NaN NaN NaN \n", "2 NaN NaN NaN \n", "3 NaN NaN NaN \n", "4 NaN NaN NaN \n", "\n", " CodeEventWomenCode CodeEventWorkshops CommuteTime \\\n", "0 NaN NaN 15 to 29 minutes \n", "1 NaN NaN NaN \n", "2 NaN NaN 15 to 29 minutes \n", "3 NaN NaN I work from home \n", "4 NaN NaN NaN \n", "\n", " CountryCitizen CountryLive \\\n", "0 Canada Canada \n", "1 United States of America United States of America \n", "2 United States of America United States of America \n", "3 Brazil Brazil \n", "4 Portugal Portugal \n", "\n", " EmploymentField EmploymentFieldOther \\\n", "0 software development and IT NaN \n", "1 NaN NaN \n", "2 software development and IT NaN \n", "3 software development and IT NaN \n", "4 NaN NaN \n", "\n", " EmploymentStatus EmploymentStatusOther ExpectedEarning \\\n", "0 Employed for wages NaN NaN \n", "1 Not working but looking for work NaN 35000.0 \n", "2 Employed for wages NaN 70000.0 \n", "3 Employed for wages NaN 40000.0 \n", "4 Not working but looking for work NaN 140000.0 \n", "\n", " FinanciallySupporting FirstDevJob Gender GenderOther HasChildren \\\n", "0 NaN NaN female NaN NaN \n", "1 NaN NaN male NaN NaN \n", "2 NaN NaN male NaN NaN \n", "3 0.0 NaN male NaN 0.0 \n", "4 NaN NaN female NaN NaN \n", "\n", " HasDebt HasFinancialDependents HasHighSpdInternet HasHomeMortgage \\\n", "0 1.0 0.0 1.0 0.0 \n", "1 1.0 0.0 1.0 0.0 \n", "2 0.0 0.0 1.0 NaN \n", "3 1.0 1.0 1.0 1.0 \n", "4 0.0 0.0 1.0 NaN \n", "\n", " HasServedInMilitary HasStudentDebt HomeMortgageOwe HoursLearning \\\n", "0 0.0 0.0 NaN 15.0 \n", "1 0.0 1.0 NaN 10.0 \n", "2 0.0 NaN NaN 25.0 \n", "3 0.0 0.0 40000.0 14.0 \n", "4 0.0 NaN NaN 10.0 \n", "\n", " ID.x ID.y \\\n", "0 02d9465b21e8bd09374b0066fb2d5614 eb78c1c3ac6cd9052aec557065070fbf \n", "1 5bfef9ecb211ec4f518cfc1d2a6f3e0c 21db37adb60cdcafadfa7dca1b13b6b1 \n", "2 14f1863afa9c7de488050b82eb3edd96 21ba173828fbe9e27ccebaf4d5166a55 \n", "3 91756eb4dc280062a541c25a3d44cfb0 3be37b558f02daae93a6da10f83f0c77 \n", "4 aa3f061a1949a90b27bef7411ecd193f d7c56bbf2c7b62096be9db010e86d96d \n", "\n", " Income IsEthnicMinority IsReceiveDisabilitiesBenefits IsSoftwareDev \\\n", "0 NaN NaN 0.0 0.0 \n", "1 NaN 0.0 0.0 0.0 \n", "2 13000.0 1.0 0.0 0.0 \n", "3 24000.0 0.0 0.0 0.0 \n", "4 NaN 0.0 0.0 0.0 \n", "\n", " IsUnderEmployed JobApplyWhen JobInterestBackEnd \\\n", "0 0.0 NaN NaN \n", "1 NaN Within 7 to 12 months NaN \n", "2 0.0 Within 7 to 12 months 1.0 \n", "3 1.0 Within the next 6 months 1.0 \n", "4 NaN Within 7 to 12 months 1.0 \n", "\n", " JobInterestDataEngr JobInterestDataSci JobInterestDevOps \\\n", "0 NaN NaN NaN \n", "1 NaN NaN NaN \n", "2 NaN NaN 1.0 \n", "3 NaN NaN NaN \n", "4 NaN NaN NaN \n", "\n", " JobInterestFrontEnd JobInterestFullStack JobInterestGameDev \\\n", "0 NaN NaN NaN \n", "1 NaN 1.0 NaN \n", "2 1.0 1.0 NaN \n", "3 1.0 1.0 NaN \n", "4 1.0 1.0 NaN \n", "\n", " JobInterestInfoSec JobInterestMobile JobInterestOther \\\n", "0 NaN NaN NaN \n", "1 NaN NaN NaN \n", "2 NaN 1.0 NaN \n", "3 NaN NaN NaN \n", "4 1.0 1.0 NaN \n", "\n", " JobInterestProjMngr JobInterestQAEngr JobInterestUX \\\n", "0 NaN NaN NaN \n", "1 NaN NaN NaN \n", "2 NaN NaN NaN \n", "3 NaN NaN NaN \n", "4 NaN NaN NaN \n", "\n", " JobPref JobRelocateYesNo \\\n", "0 start your own business NaN \n", "1 work for a nonprofit 1.0 \n", "2 work for a medium-sized company 1.0 \n", "3 work for a medium-sized company NaN \n", "4 work for a multinational corporation 1.0 \n", "\n", " JobRoleInterest \\\n", "0 NaN \n", "1 Full-Stack Web Developer \n", "2 Front-End Web Developer, Back-End Web Develo... \n", "3 Front-End Web Developer, Full-Stack Web Deve... \n", "4 Full-Stack Web Developer, Information Security... \n", "\n", " JobWherePref LanguageAtHome \\\n", "0 NaN English \n", "1 in an office with other developers English \n", "2 no preference Spanish \n", "3 from home Portuguese \n", "4 in an office with other developers Portuguese \n", "\n", " MaritalStatus MoneyForLearning MonthsProgramming \\\n", "0 married or domestic partnership 150.0 6.0 \n", "1 single, never married 80.0 6.0 \n", "2 single, never married 1000.0 5.0 \n", "3 married or domestic partnership 0.0 5.0 \n", "4 single, never married 0.0 24.0 \n", "\n", " NetworkID Part1EndTime Part1StartTime Part2EndTime \\\n", "0 6f1fbc6b2b 2017-03-09 00:36:22 2017-03-09 00:32:59 2017-03-09 00:59:46 \n", "1 f8f8be6910 2017-03-09 00:37:07 2017-03-09 00:33:26 2017-03-09 00:38:59 \n", "2 2ed189768e 2017-03-09 00:37:58 2017-03-09 00:33:53 2017-03-09 00:40:14 \n", "3 dbdc0664d1 2017-03-09 00:40:13 2017-03-09 00:37:45 2017-03-09 00:42:26 \n", "4 11b0f2d8a9 2017-03-09 00:42:45 2017-03-09 00:39:44 2017-03-09 00:45:42 \n", "\n", " Part2StartTime PodcastChangeLog PodcastCodeNewbie PodcastCodePen \\\n", "0 2017-03-09 00:36:26 NaN NaN NaN \n", "1 2017-03-09 00:37:10 NaN 1.0 NaN \n", "2 2017-03-09 00:38:02 1.0 NaN 1.0 \n", "3 2017-03-09 00:40:18 NaN NaN NaN \n", "4 2017-03-09 00:42:50 NaN NaN NaN \n", "\n", " PodcastDevTea PodcastDotNET PodcastGiantRobots PodcastJSAir \\\n", "0 1.0 NaN NaN NaN \n", "1 NaN NaN NaN NaN \n", "2 NaN NaN NaN NaN \n", "3 NaN NaN NaN NaN \n", "4 NaN NaN NaN NaN \n", "\n", " PodcastJSJabber PodcastNone PodcastOther PodcastProgThrowdown \\\n", "0 NaN NaN NaN NaN \n", "1 NaN NaN NaN NaN \n", "2 NaN NaN Codenewbie NaN \n", "3 NaN NaN NaN NaN \n", "4 NaN NaN NaN NaN \n", "\n", " PodcastRubyRogues PodcastSEDaily PodcastSERadio PodcastShopTalk \\\n", "0 NaN NaN NaN NaN \n", "1 NaN NaN NaN NaN \n", "2 NaN NaN NaN 1.0 \n", "3 NaN NaN NaN NaN \n", "4 NaN NaN NaN NaN \n", "\n", " PodcastTalkPython PodcastTheWebAhead ResourceCodecademy \\\n", "0 NaN NaN 1.0 \n", "1 NaN NaN 1.0 \n", "2 NaN NaN 1.0 \n", "3 NaN NaN NaN \n", "4 NaN NaN NaN \n", "\n", " ResourceCodeWars ResourceCoursera ResourceCSS ResourceEdX \\\n", "0 NaN NaN NaN NaN \n", "1 NaN NaN 1.0 NaN \n", "2 NaN NaN 1.0 NaN \n", "3 NaN NaN NaN NaN \n", "4 NaN NaN NaN NaN \n", "\n", " ResourceEgghead ResourceFCC ResourceHackerRank ResourceKA \\\n", "0 NaN 1.0 NaN NaN \n", "1 NaN 1.0 NaN NaN \n", "2 NaN 1.0 NaN NaN \n", "3 1.0 1.0 NaN NaN \n", "4 NaN NaN NaN NaN \n", "\n", " ResourceLynda ResourceMDN ResourceOdinProj ResourceOther \\\n", "0 NaN 1.0 NaN NaN \n", "1 NaN NaN NaN NaN \n", "2 NaN 1.0 NaN NaN \n", "3 NaN 1.0 NaN NaN \n", "4 NaN NaN NaN NaN \n", "\n", " ResourcePluralSight ResourceSkillcrush ResourceSO ResourceTreehouse \\\n", "0 NaN NaN NaN NaN \n", "1 NaN NaN 1.0 NaN \n", "2 NaN NaN NaN NaN \n", "3 NaN NaN 1.0 NaN \n", "4 NaN NaN 1.0 NaN \n", "\n", " ResourceUdacity ResourceUdemy ResourceW3S \\\n", "0 NaN 1.0 1.0 \n", "1 NaN 1.0 1.0 \n", "2 1.0 1.0 NaN \n", "3 NaN NaN NaN \n", "4 NaN NaN NaN \n", "\n", " SchoolDegree SchoolMajor \\\n", "0 some college credit, no degree NaN \n", "1 some college credit, no degree NaN \n", "2 high school diploma or equivalent (GED) NaN \n", "3 some college credit, no degree NaN \n", "4 bachelor's degree Information Technology \n", "\n", " StudentDebtOwe YouTubeCodeCourse YouTubeCodingTrain YouTubeCodingTut360 \\\n", "0 NaN NaN NaN NaN \n", "1 NaN NaN NaN NaN \n", "2 NaN NaN NaN 1.0 \n", "3 NaN NaN NaN NaN \n", "4 NaN NaN NaN NaN \n", "\n", " YouTubeComputerphile YouTubeDerekBanas YouTubeDevTips \\\n", "0 NaN NaN NaN \n", "1 NaN NaN NaN \n", "2 NaN 1.0 1.0 \n", "3 NaN NaN 1.0 \n", "4 NaN NaN NaN \n", "\n", " YouTubeEngineeredTruth YouTubeFCC YouTubeFunFunFunction \\\n", "0 NaN NaN NaN \n", "1 NaN 1.0 NaN \n", "2 NaN NaN NaN \n", "3 NaN 1.0 1.0 \n", "4 NaN NaN NaN \n", "\n", " YouTubeGoogleDev YouTubeLearnCode YouTubeLevelUpTuts YouTubeMIT \\\n", "0 NaN NaN NaN NaN \n", "1 NaN NaN NaN NaN \n", "2 NaN 1.0 1.0 NaN \n", "3 NaN NaN 1.0 NaN \n", "4 NaN NaN NaN NaN \n", "\n", " YouTubeMozillaHacks YouTubeOther YouTubeSimplilearn YouTubeTheNewBoston \n", "0 NaN NaN NaN NaN \n", "1 NaN NaN NaN NaN \n", "2 NaN NaN NaN NaN \n", "3 NaN NaN NaN NaN \n", "4 NaN NaN NaN NaN " ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Read in the data\n", "import pandas as pd\n", "direct_link = 'https://raw.githubusercontent.com/freeCodeCamp/2017-new-coder-survey/master/clean-data/2017-fCC-New-Coders-Survey-Data.csv'\n", "fcc = pd.read_csv(direct_link, low_memory = 0) # low_memory = False to silence dtypes warning\n", "\n", "# Quick exploration of the data\n", "print(fcc.shape)\n", "pd.options.display.max_columns = 150 # to avoid truncated output \n", "fcc.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Checking for Sample Representativity\n", "\n", "As we mentioned in the introduction, most of our courses are on web and mobile development, but we also cover many other domains, like data science, game development, etc. For the purpose of our analysis, we want to answer questions about a population of new coders that are interested in the subjects we teach. We'd like to know:\n", "\n", "* Where are these new coders located.\n", "* What locations have the greatest densities of new coders.\n", "* How much money they're willing to spend on learning.\n", "\n", "So we first need to clarify whether the data set has the right categories of people for our purpose. The `JobRoleInterest` column describes for every participant the role(s) they'd be interested in working in. If a participant is interested in working in a certain domain, it means that they're also interested in learning about that domain. So let's take a look at the frequency distribution table of this column and determine whether the data we have is relevant." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Full-Stack Web Developer 11.770595\n", " Front-End Web Developer 6.435927\n", " Data Scientist 2.173913\n", "Back-End Web Developer 2.030892\n", " Mobile Developer 1.673341\n", "Game Developer 1.630435\n", "Information Security 1.315789\n", "Full-Stack Web Developer, Front-End Web Developer 0.915332\n", " Front-End Web Developer, Full-Stack Web Developer 0.800915\n", " Product Manager 0.786613\n", "Data Engineer 0.758009\n", " User Experience Designer 0.743707\n", " User Experience Designer, Front-End Web Developer 0.614989\n", " Front-End Web Developer, Back-End Web Developer, Full-Stack Web Developer 0.557780\n", "Back-End Web Developer, Full-Stack Web Developer, Front-End Web Developer 0.514874\n", "Back-End Web Developer, Front-End Web Developer, Full-Stack Web Developer 0.514874\n", " DevOps / SysAdmin 0.514874\n", "Full-Stack Web Developer, Front-End Web Developer, Back-End Web Developer 0.443364\n", " Front-End Web Developer, Full-Stack Web Developer, Back-End Web Developer 0.429062\n", " Front-End Web Developer, User Experience Designer 0.414760\n", "Full-Stack Web Developer, Mobile Developer 0.414760\n", "Back-End Web Developer, Full-Stack Web Developer 0.386156\n", "Full-Stack Web Developer, Back-End Web Developer 0.371854\n", "Back-End Web Developer, Front-End Web Developer 0.286041\n", "Full-Stack Web Developer, Back-End Web Developer, Front-End Web Developer 0.271739\n", "Data Engineer, Data Scientist 0.271739\n", " Front-End Web Developer, Mobile Developer 0.257437\n", "Full-Stack Web Developer, Data Scientist 0.243135\n", " Mobile Developer, Game Developer 0.228833\n", " Data Scientist, Data Engineer 0.228833\n", " ... \n", " Mobile Developer, User Experience Designer, Full-Stack Web Developer, DevOps / SysAdmin, Technical Writer 0.014302\n", "Data Engineer, Data Scientist, Information Security 0.014302\n", " Mobile Developer, Full-Stack Web Developer, Product Manager, Game Developer, Information Security, Front-End Web Developer, User Experience Designer, Data Scientist 0.014302\n", "Back-End Web Developer, Game Developer, Data Engineer 0.014302\n", "Full-Stack Web Developer, Information Security, Back-End Web Developer, Data Engineer, Mobile Developer, Data Scientist, DevOps / SysAdmin 0.014302\n", "Software Specialist 0.014302\n", "Game Developer, Information Security, Mobile Developer, DevOps / SysAdmin, Full-Stack Web Developer, Front-End Web Developer 0.014302\n", "Back-End Web Developer, Game Developer, Full-Stack Web Developer, Front-End Web Developer, DevOps / SysAdmin 0.014302\n", " Front-End Web Developer, Back-End Web Developer, Full-Stack Web Developer, Game Developer, Mobile Developer 0.014302\n", "Game Developer, Information Security, Full-Stack Web Developer, Back-End Web Developer 0.014302\n", " Front-End Web Developer, Data Scientist, Game Developer, Product Manager, Information Security 0.014302\n", " Front-End Web Developer, Mobile Developer, Information Security, Full-Stack Web Developer, DevOps / SysAdmin, Back-End Web Developer, Game Developer 0.014302\n", " Mobile Developer, Game Developer, Full-Stack Web Developer, Back-End Web Developer, Front-End Web Developer 0.014302\n", "Data Engineer, Front-End Web Developer, Data Scientist, Full-Stack Web Developer 0.014302\n", " Product Manager, Back-End Web Developer, Data Scientist, Full-Stack Web Developer, Game Developer, User Experience Designer, Information Security 0.014302\n", " Mobile Developer, Back-End Web Developer, Front-End Web Developer, Full-Stack Web Developer 0.014302\n", " User Experience Designer, Full-Stack Web Developer, Front-End Web Developer, Mobile Developer, User Interface Design 0.014302\n", "Full-Stack Web Developer, Quality Assurance Engineer, Game Developer, Front-End Web Developer, User Experience Designer 0.014302\n", " Quality Assurance Engineer, Front-End Web Developer, User Experience Designer, Game Developer 0.014302\n", " DevOps / SysAdmin, Data Scientist, Full-Stack Web Developer, Information Security, Data Engineer, Back-End Web Developer 0.014302\n", "Full-Stack Web Developer, Data Scientist, User Experience Designer, Mobile Developer, Front-End Web Developer 0.014302\n", "Data Engineer, Product Manager, Data Scientist 0.014302\n", "Full-Stack Web Developer, User Experience Designer, Back-End Web Developer, Data Scientist, Information Security, Criminal Defense Attorney-- focusing on cyber crimes 0.014302\n", "Data Engineer, User Experience Designer, Front-End Web Developer, Game Developer, Data Scientist, Product Manager 0.014302\n", " Front-End Web Developer, User Experience Designer, DevOps / SysAdmin, Back-End Web Developer, Data Scientist, Game Developer, Product Manager, Quality Assurance Engineer, Full-Stack Web Developer, Information Security, Mobile Developer 0.014302\n", "Education 0.014302\n", " DevOps / SysAdmin, Mobile Developer, Full-Stack Web Developer, Front-End Web Developer 0.014302\n", "Back-End Web Developer, Data Scientist, Information Security, Front-End Web Developer, Quality Assurance Engineer, DevOps / SysAdmin, Data Engineer, Game Developer, Full-Stack Web Developer 0.014302\n", " Data Scientist, Back-End Web Developer, Full-Stack Web Developer, Front-End Web Developer, User Experience Designer, Mobile Developer 0.014302\n", "Game Developer, Mobile Developer, Back-End Web Developer, Front-End Web Developer, Information Security 0.014302\n", "Name: JobRoleInterest, Length: 3213, dtype: float64" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Frequency distribution table for 'JobRoleInterest'\n", "fcc['JobRoleInterest'].value_counts(normalize = True) * 100" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The information in the table above is quite granular, but from a quick scan it looks like:\n", "\n", "* A lot of people are interested in web development (full-stack _web development_, front-end _web development_ and back-end _web development_).\n", "* A few people (1.7%) are interested in mobile development.\n", "* Not too many people are interested in domains other than web and mobile development.\n", "\n", "It's also interesting to note that many respondents are interested in more than one subject. It'd be useful to get a better picture of how many people are interested in a single subject and how many have mixed interests. Consequently, in the next code block, we'll:\n", "\n", "- Split each string in the `JobRoleInterest` column to find the number of options for each participant.\n", " - We'll first drop the null values because we can't split `Nan` values.\n", "- Generate a frequency table for the variable describing the number of options." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1 31.650458\n", "2 10.883867\n", "3 15.889588\n", "4 15.217391\n", "5 12.042334\n", "6 6.721968\n", "7 3.861556\n", "8 1.759153\n", "9 0.986842\n", "10 0.471968\n", "11 0.185927\n", "12 0.300343\n", "13 0.028604\n", "Name: JobRoleInterest, dtype: float64" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Split each string in the 'JobRoleInterest' column\n", "interests_no_nulls = fcc['JobRoleInterest'].dropna()\n", "splitted_interests = interests_no_nulls.str.split(',')\n", "\n", "# Frequency table for the var describing the number of options\n", "n_of_options = splitted_interests.apply(lambda x: len(x)) # x is a list of job options\n", "n_of_options.value_counts(normalize = True).sort_index() * 100" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It turns out that only 31.7% of the participants have a clear idea about what programming niche they'd like to work in, while the vast majority of students have mixed interests. But given that we offer courses on various subjects, the fact that new coders have mixed interest might be actually good for us.\n", "\n", "The focus of our courses is on web and mobile development, so let's find out how many respondents chose at least one of these two options." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "True 86.241419\n", "False 13.758581\n", "Name: JobRoleInterest, dtype: float64\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Frequency table\n", "web_or_mobile = interests_no_nulls.str.contains(\n", " 'Web Developer|Mobile Developer') # returns an array of booleans\n", "freq_table = web_or_mobile.value_counts(normalize = True) * 100\n", "print(freq_table)\n", "\n", "# Graph for the frequency table above\n", "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "plt.style.use('fivethirtyeight')\n", "\n", "freq_table.plot.bar()\n", "plt.title('Most Participants are Interested in \\nWeb or Mobile Development',\n", " y = 1.08) # y pads the title upward\n", "plt.ylabel('Percentage', fontsize = 12)\n", "plt.xticks([0,1],['Web or mobile\\ndevelopment', 'Other subject'],\n", " rotation = 0) # the initial xtick labels were True and False\n", "plt.ylim([0,100])\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It turns out that most people in this survey (roughly 86%) are interested in either web or mobile development. These figures offer us a strong reason to consider this sample representative for our population of interest. We want to advertise our courses to people interested in all sorts of programming niches but mostly web and mobile development.\n", "\n", "Now we need to figure out what are the best markets to invest money in for advertising our courses. We'd like to know:\n", "\n", "* Where are these new coders located.\n", "* What are the locations with the greatest number of new coders.\n", "* How much money new coders are willing to spend on learning.\n", "\n", "# New Coders - Locations and Densities\n", "\n", "Let's begin with finding out where these new coders are located, and what are the densities (how many new coders there are) for each location. This should be a good start for finding out the best two markets to run our ads campaign in.\n", "\n", "The data set provides information about the location of each participant at a country level. We can think of each country as an individual market, so we can frame our goal as finding the two best countries to advertise in.\n", "\n", "We can start by examining the frequency distribution table of the `CountryLive` variable, which describes what country each participant lives in (not their origin country). We'll only consider those participants who answered what role(s) they're interested in, to make sure we work with a representative sample." ] }, { "cell_type": "code", "execution_count": 5, "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", "
Absolute frequencyPercentage
United States of America312545.700497
India5287.721556
United Kingdom3154.606610
Canada2603.802281
Poland1311.915765
Brazil1291.886517
Germany1251.828020
Australia1121.637906
Russia1021.491664
Ukraine891.301550
Nigeria841.228429
Spain771.126060
France751.096812
Romania711.038315
Netherlands (Holland, Europe)650.950570
Italy620.906698
Serbia520.760456
Philippines520.760456
Greece460.672711
Ireland430.628839
South Africa390.570342
Mexico370.541094
Turkey360.526470
Hungary340.497221
Singapore340.497221
New Zealand330.482597
Argentina320.467973
Croatia320.467973
Sweden310.453349
Indonesia310.453349
.........
Mozambique10.014624
Yemen10.014624
Cuba10.014624
Sudan10.014624
Guatemala10.014624
Bolivia10.014624
Jordan10.014624
Myanmar10.014624
Samoa10.014624
Gambia10.014624
Channel Islands10.014624
Vanuatu10.014624
Trinidad & Tobago10.014624
Papua New Guinea10.014624
Liberia10.014624
Panama10.014624
Rwanda10.014624
Cameroon10.014624
Aruba10.014624
Gibraltar10.014624
Anguilla10.014624
Botswana10.014624
Turkmenistan10.014624
Kyrgyzstan10.014624
Qatar10.014624
Angola10.014624
Nambia10.014624
Guadeloupe10.014624
Nicaragua10.014624
Cayman Islands10.014624
\n", "

137 rows × 2 columns

\n", "
" ], "text/plain": [ " Absolute frequency Percentage\n", "United States of America 3125 45.700497\n", "India 528 7.721556\n", "United Kingdom 315 4.606610\n", "Canada 260 3.802281\n", "Poland 131 1.915765\n", "Brazil 129 1.886517\n", "Germany 125 1.828020\n", "Australia 112 1.637906\n", "Russia 102 1.491664\n", "Ukraine 89 1.301550\n", "Nigeria 84 1.228429\n", "Spain 77 1.126060\n", "France 75 1.096812\n", "Romania 71 1.038315\n", "Netherlands (Holland, Europe) 65 0.950570\n", "Italy 62 0.906698\n", "Serbia 52 0.760456\n", "Philippines 52 0.760456\n", "Greece 46 0.672711\n", "Ireland 43 0.628839\n", "South Africa 39 0.570342\n", "Mexico 37 0.541094\n", "Turkey 36 0.526470\n", "Hungary 34 0.497221\n", "Singapore 34 0.497221\n", "New Zealand 33 0.482597\n", "Argentina 32 0.467973\n", "Croatia 32 0.467973\n", "Sweden 31 0.453349\n", "Indonesia 31 0.453349\n", "... ... ...\n", "Mozambique 1 0.014624\n", "Yemen 1 0.014624\n", "Cuba 1 0.014624\n", "Sudan 1 0.014624\n", "Guatemala 1 0.014624\n", "Bolivia 1 0.014624\n", "Jordan 1 0.014624\n", "Myanmar 1 0.014624\n", "Samoa 1 0.014624\n", "Gambia 1 0.014624\n", "Channel Islands 1 0.014624\n", "Vanuatu 1 0.014624\n", "Trinidad & Tobago 1 0.014624\n", "Papua New Guinea 1 0.014624\n", "Liberia 1 0.014624\n", "Panama 1 0.014624\n", "Rwanda 1 0.014624\n", "Cameroon 1 0.014624\n", "Aruba 1 0.014624\n", "Gibraltar 1 0.014624\n", "Anguilla 1 0.014624\n", "Botswana 1 0.014624\n", "Turkmenistan 1 0.014624\n", "Kyrgyzstan 1 0.014624\n", "Qatar 1 0.014624\n", "Angola 1 0.014624\n", "Nambia 1 0.014624\n", "Guadeloupe 1 0.014624\n", "Nicaragua 1 0.014624\n", "Cayman Islands 1 0.014624\n", "\n", "[137 rows x 2 columns]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Isolate the participants that answered what role they'd be interested in\n", "fcc_good = fcc[fcc['JobRoleInterest'].notnull()].copy()\n", "\n", "# Frequency tables with absolute and relative frequencies\n", "absolute_frequencies = fcc_good['CountryLive'].value_counts()\n", "relative_frequencies = fcc_good['CountryLive'].value_counts(normalize = True) * 100\n", "\n", "# Display the frequency tables in a more readable format\n", "pd.DataFrame(data = {'Absolute frequency': absolute_frequencies, \n", " 'Percentage': relative_frequencies}\n", " )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "45.7% of our potential customers are located in the US, and this definitely seems like the most interesting market. India has the second customer density, but it's just 7.7%, which is not too far from the United Kingdom (4.6%) or Canada (3.8%).\n", "\n", "This is useful information, but we need to go more in depth than this and figure out how much money people are actually willing to spend on learning. Advertising in high-density markets where most people are only willing to learn for free is extremely unlikely to be profitable for us.\n", "\n", "# Spending Money for Learning\n", "\n", "The `MoneyForLearning` column describes in American dollars the amount of money spent by participants from the moment they started coding until the moment they completed the survey. Our company sells subscriptions at a price of \\$59 per month, and for this reason we're interested in finding out how much money each student spends per month.\n", "\n", "We'll narrow down our analysis to only four countries: the US, India, the United Kingdom, and Canada. We do this for two reasons:\n", "\n", "* These are the countries having the highest frequency in the frequency table above, which means we have a decent amount of data for each.\n", "* Our courses are written in English, and English is an official language in all these four countries. The more people know English, the better our chances to target the right people with our ads.\n", "\n", "Let's start with creating a new column that describes the amount of money a student has spent per month so far. To do that, we'll need to divide the `MoneyForLearning` column to the `MonthsProgramming` column. The problem is that some students answered that they have been learning to code for 0 months (it might be that they have just started). To avoid dividing by 0, we'll replace 0 with 1 in the `MonthsProgramming` column." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "675" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Replace 0s with 1s to avoid division by 0\n", "fcc_good['MonthsProgramming'].replace(0,1, inplace = True)\n", "\n", "# New column for the amount of money each student spends each month\n", "fcc_good['money_per_month'] = fcc_good['MoneyForLearning'] / fcc_good['MonthsProgramming']\n", "fcc_good['money_per_month'].isnull().sum()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's keep only the rows that don't have null values for the `money_per_month` column." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "# Keep only the rows with non-nulls in the `money_per_month` column \n", "fcc_good = fcc_good[fcc_good['money_per_month'].notnull()]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We want to group the data by country, and then measure the average amount of money that students spend per month in each country. First, let's remove the rows having null values for the `CountryLive` column, and check out if we still have enough data for the four countries that interest us." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "United States of America 2933\n", "India 463\n", "United Kingdom 279\n", "Canada 240\n", "Poland 122\n", "Name: CountryLive, dtype: int64" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Remove the rows with null values in 'CountryLive'\n", "fcc_good = fcc_good[fcc_good['CountryLive'].notnull()]\n", "\n", "# Frequency table to check if we still have enough data\n", "fcc_good['CountryLive'].value_counts().head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This should be enough, so let's compute the average value spent per month in each country by a student. We'll compute the average using the mean." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "CountryLive\n", "United States of America 227.997996\n", "India 135.100982\n", "United Kingdom 45.534443\n", "Canada 113.510961\n", "Name: money_per_month, dtype: float64" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Mean sum of money spent by students each month\n", "countries_mean = fcc_good.groupby('CountryLive').mean()\n", "countries_mean['money_per_month'][['United States of America',\n", " 'India', 'United Kingdom',\n", " 'Canada']]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The results for the United Kingdom and Canada are a bit surprising relative to the values we see for India. If we considered a few socio-economical metrics (like [GDP per capita](https://bit.ly/2I3cukh)), we'd intuitively expect people in the UK and Canada to spend more on learning than people in India.\n", "\n", "It might be that we don't have have enough representative data for the United Kingdom and Canada, or we have some outliers (maybe coming from wrong survey answers) making the mean too large for India, or too low for the UK and Canada. Or it might be that the results are correct.\n", "\n", "# Dealing with Extreme Outliers\n", "\n", "Let's use box plots to visualize the distribution of the `money_per_month` variable for each country." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Isolate only the countries of interest\n", "only_4 = fcc_good[fcc_good['CountryLive'].str.contains(\n", " 'United States of America|India|United Kingdom|Canada')]\n", "\n", "# Box plots to visualize distributions\n", "import seaborn as sns\n", "sns.boxplot(y = 'money_per_month', x = 'CountryLive',\n", " data = only_4)\n", "plt.title('Money Spent Per Month Per Country\\n(Distributions)',\n", " fontsize = 16)\n", "plt.ylabel('Money per month (US dollars)')\n", "plt.xlabel('Country')\n", "plt.xticks(range(4), ['US', 'UK', 'India', 'Canada']) # avoids tick labels overlap\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It's hard to see on the plot above if there's anything wrong with the data for the United Kingdom, India, or Canada, but we can see immediately that there's something really off for the US: two persons spend each month \\$50000 or more for learning. This is not impossible, but it seems extremely unlikely, so we'll remove every value that goes over \\$20,000 per month." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "# Isolate only those participants who spend less than 10000 per month\n", "fcc_good = fcc_good[fcc_good['money_per_month'] < 20000]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's recompute the mean values and plot the box plots again." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "CountryLive\n", "United States of America 183.800110\n", "India 135.100982\n", "United Kingdom 45.534443\n", "Canada 113.510961\n", "Name: money_per_month, dtype: float64" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Recompute mean sum of money spent by students each month\n", "countries_mean = fcc_good.groupby('CountryLive').mean()\n", "countries_mean['money_per_month'][['United States of America',\n", " 'India', 'United Kingdom',\n", " 'Canada']]" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Isolate again the countries of interest\n", "only_4 = fcc_good[fcc_good['CountryLive'].str.contains(\n", " 'United States of America|India|United Kingdom|Canada')]\n", "\n", "# Box plots to visualize distributions\n", "sns.boxplot(y = 'money_per_month', x = 'CountryLive',\n", " data = only_4)\n", "plt.title('Money Spent Per Month Per Country\\n(Distributions)',\n", " fontsize = 16)\n", "plt.ylabel('Money per month (US dollars)')\n", "plt.xlabel('Country')\n", "plt.xticks(range(4), ['US', 'UK', 'India', 'Canada']) # avoids tick labels overlap\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can see a few extreme outliers for India (values over \\$2500 per month), but it's unclear whether this is good data or not. Maybe these persons attended several bootcamps, which tend to be very expensive. Let's examine these two data points to see if we can find anything relevant." ] }, { "cell_type": "code", "execution_count": 14, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AgeAttendedBootcampBootcampFinishBootcampLoanYesNoBootcampNameBootcampRecommendChildrenNumberCityPopulationCodeEventConferencesCodeEventDjangoGirlsCodeEventFCCCodeEventGameJamCodeEventGirlDevCodeEventHackathonsCodeEventMeetupCodeEventNodeSchoolCodeEventNoneCodeEventOtherCodeEventRailsBridgeCodeEventRailsGirlsCodeEventStartUpWkndCodeEventWkdBootcampsCodeEventWomenCodeCodeEventWorkshopsCommuteTimeCountryCitizenCountryLiveEmploymentFieldEmploymentFieldOtherEmploymentStatusEmploymentStatusOtherExpectedEarningFinanciallySupportingFirstDevJobGenderGenderOtherHasChildrenHasDebtHasFinancialDependentsHasHighSpdInternetHasHomeMortgageHasServedInMilitaryHasStudentDebtHomeMortgageOweHoursLearningID.xID.yIncomeIsEthnicMinorityIsReceiveDisabilitiesBenefitsIsSoftwareDevIsUnderEmployedJobApplyWhenJobInterestBackEndJobInterestDataEngrJobInterestDataSciJobInterestDevOpsJobInterestFrontEndJobInterestFullStackJobInterestGameDevJobInterestInfoSecJobInterestMobileJobInterestOtherJobInterestProjMngrJobInterestQAEngrJobInterestUXJobPrefJobRelocateYesNoJobRoleInterestJobWherePrefLanguageAtHomeMaritalStatusMoneyForLearningMonthsProgrammingNetworkIDPart1EndTimePart1StartTimePart2EndTimePart2StartTimePodcastChangeLogPodcastCodeNewbiePodcastCodePenPodcastDevTeaPodcastDotNETPodcastGiantRobotsPodcastJSAirPodcastJSJabberPodcastNonePodcastOtherPodcastProgThrowdownPodcastRubyRoguesPodcastSEDailyPodcastSERadioPodcastShopTalkPodcastTalkPythonPodcastTheWebAheadResourceCodecademyResourceCodeWarsResourceCourseraResourceCSSResourceEdXResourceEggheadResourceFCCResourceHackerRankResourceKAResourceLyndaResourceMDNResourceOdinProjResourceOtherResourcePluralSightResourceSkillcrushResourceSOResourceTreehouseResourceUdacityResourceUdemyResourceW3SSchoolDegreeSchoolMajorStudentDebtOweYouTubeCodeCourseYouTubeCodingTrainYouTubeCodingTut360YouTubeComputerphileYouTubeDerekBanasYouTubeDevTipsYouTubeEngineeredTruthYouTubeFCCYouTubeFunFunFunctionYouTubeGoogleDevYouTubeLearnCodeYouTubeLevelUpTutsYouTubeMITYouTubeMozillaHacksYouTubeOtherYouTubeSimplilearnYouTubeTheNewBostonmoney_per_month
172824.00.0NaNNaNNaNNaNNaNbetween 100,000 and 1 millionNaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNIndiaIndiaNaNNaNA stay-at-home parent or homemakerNaN70000.0NaNNaNmaleNaNNaN0.00.01.0NaN0.0NaNNaN30.0d964ec629fd6d85a5bf27f7339f4fa6d950a8cf9cef1ae6a15da470e572b1b7aNaN0.00.00.0NaNWithin the next 6 months1.0NaNNaNNaN1.0NaNNaNNaN1.0NaN1.0NaN1.0work for a startup1.0User Experience Designer, Mobile Developer...in an office with other developersBengalisingle, never married20000.04.038d312a9902017-03-10 10:22:342017-03-10 10:17:422017-03-10 10:24:382017-03-10 10:22:40NaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.01.0bachelor's degreeComputer ProgrammingNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaN5000.000000
175520.00.0NaNNaNNaNNaNNaNmore than 1 millionNaNNaN1.0NaNNaN1.01.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNIndiaIndiaNaNNaNNot working and not looking for workNaN100000.0NaNNaNmaleNaNNaN0.00.01.0NaN0.0NaNNaN10.0811bf953ef546460f5436fcf2baa532d81e2a4cab0543e14746c4a20ffdae17cNaN0.00.00.0NaNI haven't decidedNaN1.0NaN1.01.01.0NaN1.0NaNNaNNaNNaNNaNwork for a multinational corporation1.0Information Security, Full-Stack Web Developer...no preferenceHindisingle, never married50000.015.04611a76b602017-03-10 10:48:312017-03-10 10:42:292017-03-10 10:51:372017-03-10 10:48:38NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaN1.01.01.0NaN1.0NaN1.0NaN1.01.0NaNNaNNaN1.0NaNNaNNaN1.01.01.0bachelor's degreeComputer ScienceNaNNaNNaN1.0NaNNaNNaNNaN1.0NaNNaN1.0NaN1.0NaNNaNNaNNaN3333.333333
798928.00.0NaNNaNNaNNaNNaNbetween 100,000 and 1 million1.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.015 to 29 minutesIndiaIndiasoftware development and ITNaNEmployed for wagesNaN500000.01.0NaNmaleNaN0.01.01.01.00.00.01.0NaN20.0a6a5597bbbc2c282386d6675641b744ada7bbb54a8b26a379707be56b6c51e65300000.00.00.00.00.0more than 12 months from now1.0NaNNaNNaN1.01.01.0NaNNaNNaNNaNNaN1.0work for a multinational corporation1.0User Experience Designer, Back-End Web Devel...in an office with other developersMarathimarried or domestic partnership5000.01.0c47a447b5d2017-03-26 14:06:482017-03-26 14:02:412017-03-26 14:13:132017-03-26 14:07:17NaNNaNNaNNaNNaNNaNNaNNaNNaNNot listened to anything yet.NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNbachelor's degreeAerospace and Aeronautical Engineering2500.0NaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaN5000.000000
812622.00.0NaNNaNNaNNaNNaNmore than 1 millionNaNNaNNaN1.0NaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNIndiaIndiaNaNNaNNot working but looking for workNaN80000.0NaNNaNmaleNaNNaN1.00.01.00.00.01.0NaN80.069e8ab9126baee49f66e3577aea7fd3c9f08092e82f709e63847ba88841247c0NaN0.00.00.0NaNI'm already applying1.0NaNNaNNaN1.01.0NaNNaNNaNNaNNaNNaNNaNwork for a startup1.0Back-End Web Developer, Full-Stack Web Develop...in an office with other developersMalayalamsingle, never married5000.01.00d3d1762a42017-03-27 07:10:172017-03-27 07:05:232017-03-27 07:12:212017-03-27 07:10:22NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNbachelor's degreeElectrical and Electronics Engineering10000.0NaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaN1.0NaNNaNNaN1.05000.000000
1339819.00.0NaNNaNNaNNaNNaNmore than 1 millionNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaNIndiaIndiaNaNNaNUnable to workNaN100000.0NaNNaNmaleNaNNaN0.00.00.0NaN0.0NaNNaN30.0b7fe7bc4edefc3a60eb48f977e4426e380ff09859ac475b70ac19b7b7369e953NaN0.00.00.0NaNI haven't decidedNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNwork for a multinational corporation1.0Mobile Developerno preferenceHindisingle, never married20000.02.051a6f9a1a72017-04-01 00:31:252017-04-01 00:28:172017-04-01 00:33:442017-04-01 00:31:32NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaN1.0bachelor's degreeComputer ScienceNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN10000.000000
1558727.00.0NaNNaNNaNNaNNaNmore than 1 millionNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN15 to 29 minutesIndiaIndiasoftware development and ITNaNEmployed for wagesNaN65000.00.0NaNmaleNaN0.01.01.01.00.00.01.0NaN36.05a7394f24292cb82b72adb702886543a8bc7997217d4a57b22242471cc8d89ef60000.00.00.00.01.0I haven't decidedNaNNaN1.0NaNNaN1.0NaNNaNNaNNaNNaNNaNNaNwork for a startupNaNFull-Stack Web Developer, Data Scientistfrom homeHindisingle, never married100000.024.08af0c2b6da2017-04-03 09:43:532017-04-03 09:39:382017-04-03 09:54:392017-04-03 09:43:57NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaN1.0NaNNaN1.0NaNNaNNaNNaNNaN1.0NaNNaNNaN1.0bachelor's degreeCommunications25000.0NaNNaNNaNNaNNaNNaNNaNNaNNaN1.01.0NaN1.0NaNNaNNaNNaN4166.666667
\n", "
" ], "text/plain": [ " Age AttendedBootcamp BootcampFinish BootcampLoanYesNo BootcampName \\\n", "1728 24.0 0.0 NaN NaN NaN \n", "1755 20.0 0.0 NaN NaN NaN \n", "7989 28.0 0.0 NaN NaN NaN \n", "8126 22.0 0.0 NaN NaN NaN \n", "13398 19.0 0.0 NaN NaN NaN \n", "15587 27.0 0.0 NaN NaN NaN \n", "\n", " BootcampRecommend ChildrenNumber CityPopulation \\\n", "1728 NaN NaN between 100,000 and 1 million \n", "1755 NaN NaN more than 1 million \n", "7989 NaN NaN between 100,000 and 1 million \n", "8126 NaN NaN more than 1 million \n", "13398 NaN NaN more than 1 million \n", "15587 NaN NaN more than 1 million \n", "\n", " CodeEventConferences CodeEventDjangoGirls CodeEventFCC \\\n", "1728 NaN NaN NaN \n", "1755 NaN NaN 1.0 \n", "7989 1.0 NaN NaN \n", "8126 NaN NaN NaN \n", "13398 NaN NaN NaN \n", "15587 NaN NaN NaN \n", "\n", " CodeEventGameJam CodeEventGirlDev CodeEventHackathons \\\n", "1728 1.0 NaN NaN \n", "1755 NaN NaN 1.0 \n", "7989 NaN NaN NaN \n", "8126 1.0 NaN 1.0 \n", "13398 NaN NaN NaN \n", "15587 NaN NaN 1.0 \n", "\n", " CodeEventMeetup CodeEventNodeSchool CodeEventNone CodeEventOther \\\n", "1728 NaN NaN NaN NaN \n", "1755 1.0 NaN NaN NaN \n", "7989 NaN NaN NaN NaN \n", "8126 NaN NaN NaN NaN \n", "13398 NaN NaN 1.0 NaN \n", "15587 NaN NaN NaN NaN \n", "\n", " CodeEventRailsBridge CodeEventRailsGirls CodeEventStartUpWknd \\\n", "1728 NaN NaN NaN \n", "1755 NaN NaN NaN \n", "7989 NaN NaN NaN \n", "8126 NaN NaN NaN \n", "13398 NaN NaN NaN \n", "15587 NaN NaN NaN \n", "\n", " CodeEventWkdBootcamps CodeEventWomenCode CodeEventWorkshops \\\n", "1728 NaN NaN NaN \n", "1755 NaN NaN NaN \n", "7989 NaN NaN 1.0 \n", "8126 NaN NaN NaN \n", "13398 NaN NaN NaN \n", "15587 NaN NaN NaN \n", "\n", " CommuteTime CountryCitizen CountryLive \\\n", "1728 NaN India India \n", "1755 NaN India India \n", "7989 15 to 29 minutes India India \n", "8126 NaN India India \n", "13398 NaN India India \n", "15587 15 to 29 minutes India India \n", "\n", " EmploymentField EmploymentFieldOther \\\n", "1728 NaN NaN \n", "1755 NaN NaN \n", "7989 software development and IT NaN \n", "8126 NaN NaN \n", "13398 NaN NaN \n", "15587 software development and IT NaN \n", "\n", " EmploymentStatus EmploymentStatusOther \\\n", "1728 A stay-at-home parent or homemaker NaN \n", "1755 Not working and not looking for work NaN \n", "7989 Employed for wages NaN \n", "8126 Not working but looking for work NaN \n", "13398 Unable to work NaN \n", "15587 Employed for wages NaN \n", "\n", " ExpectedEarning FinanciallySupporting FirstDevJob Gender GenderOther \\\n", "1728 70000.0 NaN NaN male NaN \n", "1755 100000.0 NaN NaN male NaN \n", "7989 500000.0 1.0 NaN male NaN \n", "8126 80000.0 NaN NaN male NaN \n", "13398 100000.0 NaN NaN male NaN \n", "15587 65000.0 0.0 NaN male NaN \n", "\n", " HasChildren HasDebt HasFinancialDependents HasHighSpdInternet \\\n", "1728 NaN 0.0 0.0 1.0 \n", "1755 NaN 0.0 0.0 1.0 \n", "7989 0.0 1.0 1.0 1.0 \n", "8126 NaN 1.0 0.0 1.0 \n", "13398 NaN 0.0 0.0 0.0 \n", "15587 0.0 1.0 1.0 1.0 \n", "\n", " HasHomeMortgage HasServedInMilitary HasStudentDebt HomeMortgageOwe \\\n", "1728 NaN 0.0 NaN NaN \n", "1755 NaN 0.0 NaN NaN \n", "7989 0.0 0.0 1.0 NaN \n", "8126 0.0 0.0 1.0 NaN \n", "13398 NaN 0.0 NaN NaN \n", "15587 0.0 0.0 1.0 NaN \n", "\n", " HoursLearning ID.x \\\n", "1728 30.0 d964ec629fd6d85a5bf27f7339f4fa6d \n", "1755 10.0 811bf953ef546460f5436fcf2baa532d \n", "7989 20.0 a6a5597bbbc2c282386d6675641b744a \n", "8126 80.0 69e8ab9126baee49f66e3577aea7fd3c \n", "13398 30.0 b7fe7bc4edefc3a60eb48f977e4426e3 \n", "15587 36.0 5a7394f24292cb82b72adb702886543a \n", "\n", " ID.y Income IsEthnicMinority \\\n", "1728 950a8cf9cef1ae6a15da470e572b1b7a NaN 0.0 \n", "1755 81e2a4cab0543e14746c4a20ffdae17c NaN 0.0 \n", "7989 da7bbb54a8b26a379707be56b6c51e65 300000.0 0.0 \n", "8126 9f08092e82f709e63847ba88841247c0 NaN 0.0 \n", "13398 80ff09859ac475b70ac19b7b7369e953 NaN 0.0 \n", "15587 8bc7997217d4a57b22242471cc8d89ef 60000.0 0.0 \n", "\n", " IsReceiveDisabilitiesBenefits IsSoftwareDev IsUnderEmployed \\\n", "1728 0.0 0.0 NaN \n", "1755 0.0 0.0 NaN \n", "7989 0.0 0.0 0.0 \n", "8126 0.0 0.0 NaN \n", "13398 0.0 0.0 NaN \n", "15587 0.0 0.0 1.0 \n", "\n", " JobApplyWhen JobInterestBackEnd JobInterestDataEngr \\\n", "1728 Within the next 6 months 1.0 NaN \n", "1755 I haven't decided NaN 1.0 \n", "7989 more than 12 months from now 1.0 NaN \n", "8126 I'm already applying 1.0 NaN \n", "13398 I haven't decided NaN NaN \n", "15587 I haven't decided NaN NaN \n", "\n", " JobInterestDataSci JobInterestDevOps JobInterestFrontEnd \\\n", "1728 NaN NaN 1.0 \n", "1755 NaN 1.0 1.0 \n", "7989 NaN NaN 1.0 \n", "8126 NaN NaN 1.0 \n", "13398 NaN NaN NaN \n", "15587 1.0 NaN NaN \n", "\n", " JobInterestFullStack JobInterestGameDev JobInterestInfoSec \\\n", "1728 NaN NaN NaN \n", "1755 1.0 NaN 1.0 \n", "7989 1.0 1.0 NaN \n", "8126 1.0 NaN NaN \n", "13398 NaN NaN NaN \n", "15587 1.0 NaN NaN \n", "\n", " JobInterestMobile JobInterestOther JobInterestProjMngr \\\n", "1728 1.0 NaN 1.0 \n", "1755 NaN NaN NaN \n", "7989 NaN NaN NaN \n", "8126 NaN NaN NaN \n", "13398 1.0 NaN NaN \n", "15587 NaN NaN NaN \n", "\n", " JobInterestQAEngr JobInterestUX JobPref \\\n", "1728 NaN 1.0 work for a startup \n", "1755 NaN NaN work for a multinational corporation \n", "7989 NaN 1.0 work for a multinational corporation \n", "8126 NaN NaN work for a startup \n", "13398 NaN NaN work for a multinational corporation \n", "15587 NaN NaN work for a startup \n", "\n", " JobRelocateYesNo JobRoleInterest \\\n", "1728 1.0 User Experience Designer, Mobile Developer... \n", "1755 1.0 Information Security, Full-Stack Web Developer... \n", "7989 1.0 User Experience Designer, Back-End Web Devel... \n", "8126 1.0 Back-End Web Developer, Full-Stack Web Develop... \n", "13398 1.0 Mobile Developer \n", "15587 NaN Full-Stack Web Developer, Data Scientist \n", "\n", " JobWherePref LanguageAtHome \\\n", "1728 in an office with other developers Bengali \n", "1755 no preference Hindi \n", "7989 in an office with other developers Marathi \n", "8126 in an office with other developers Malayalam \n", "13398 no preference Hindi \n", "15587 from home Hindi \n", "\n", " MaritalStatus MoneyForLearning MonthsProgramming \\\n", "1728 single, never married 20000.0 4.0 \n", "1755 single, never married 50000.0 15.0 \n", "7989 married or domestic partnership 5000.0 1.0 \n", "8126 single, never married 5000.0 1.0 \n", "13398 single, never married 20000.0 2.0 \n", "15587 single, never married 100000.0 24.0 \n", "\n", " NetworkID Part1EndTime Part1StartTime \\\n", "1728 38d312a990 2017-03-10 10:22:34 2017-03-10 10:17:42 \n", "1755 4611a76b60 2017-03-10 10:48:31 2017-03-10 10:42:29 \n", "7989 c47a447b5d 2017-03-26 14:06:48 2017-03-26 14:02:41 \n", "8126 0d3d1762a4 2017-03-27 07:10:17 2017-03-27 07:05:23 \n", "13398 51a6f9a1a7 2017-04-01 00:31:25 2017-04-01 00:28:17 \n", "15587 8af0c2b6da 2017-04-03 09:43:53 2017-04-03 09:39:38 \n", "\n", " Part2EndTime Part2StartTime PodcastChangeLog \\\n", "1728 2017-03-10 10:24:38 2017-03-10 10:22:40 NaN \n", "1755 2017-03-10 10:51:37 2017-03-10 10:48:38 NaN \n", "7989 2017-03-26 14:13:13 2017-03-26 14:07:17 NaN \n", "8126 2017-03-27 07:12:21 2017-03-27 07:10:22 NaN \n", "13398 2017-04-01 00:33:44 2017-04-01 00:31:32 NaN \n", "15587 2017-04-03 09:54:39 2017-04-03 09:43:57 NaN \n", "\n", " PodcastCodeNewbie PodcastCodePen PodcastDevTea PodcastDotNET \\\n", "1728 NaN NaN NaN NaN \n", "1755 NaN NaN NaN NaN \n", "7989 NaN NaN NaN NaN \n", "8126 NaN NaN NaN NaN \n", "13398 NaN NaN NaN NaN \n", "15587 NaN NaN NaN NaN \n", "\n", " PodcastGiantRobots PodcastJSAir PodcastJSJabber PodcastNone \\\n", "1728 NaN 1.0 NaN NaN \n", "1755 NaN NaN NaN NaN \n", "7989 NaN NaN NaN NaN \n", "8126 NaN NaN NaN NaN \n", "13398 NaN NaN NaN NaN \n", "15587 NaN NaN NaN NaN \n", "\n", " PodcastOther PodcastProgThrowdown PodcastRubyRogues \\\n", "1728 NaN NaN NaN \n", "1755 NaN NaN NaN \n", "7989 Not listened to anything yet. NaN NaN \n", "8126 NaN NaN NaN \n", "13398 NaN NaN NaN \n", "15587 NaN 1.0 NaN \n", "\n", " PodcastSEDaily PodcastSERadio PodcastShopTalk PodcastTalkPython \\\n", "1728 NaN NaN NaN NaN \n", "1755 1.0 NaN NaN NaN \n", "7989 NaN NaN NaN NaN \n", "8126 NaN NaN NaN NaN \n", "13398 NaN NaN NaN NaN \n", "15587 NaN NaN NaN NaN \n", "\n", " PodcastTheWebAhead ResourceCodecademy ResourceCodeWars \\\n", "1728 NaN 1.0 NaN \n", "1755 NaN 1.0 1.0 \n", "7989 NaN NaN NaN \n", "8126 NaN NaN NaN \n", "13398 NaN NaN NaN \n", "15587 NaN NaN NaN \n", "\n", " ResourceCoursera ResourceCSS ResourceEdX ResourceEgghead \\\n", "1728 NaN NaN NaN NaN \n", "1755 1.0 NaN 1.0 NaN \n", "7989 NaN NaN NaN NaN \n", "8126 NaN 1.0 NaN 1.0 \n", "13398 NaN NaN NaN NaN \n", "15587 NaN NaN 1.0 NaN \n", "\n", " ResourceFCC ResourceHackerRank ResourceKA ResourceLynda \\\n", "1728 NaN NaN NaN NaN \n", "1755 1.0 NaN 1.0 1.0 \n", "7989 1.0 NaN NaN 1.0 \n", "8126 NaN NaN NaN NaN \n", "13398 NaN NaN NaN NaN \n", "15587 1.0 NaN NaN 1.0 \n", "\n", " ResourceMDN ResourceOdinProj ResourceOther ResourcePluralSight \\\n", "1728 NaN NaN NaN NaN \n", "1755 NaN NaN NaN 1.0 \n", "7989 NaN NaN NaN NaN \n", "8126 NaN NaN NaN NaN \n", "13398 NaN NaN NaN NaN \n", "15587 NaN NaN NaN NaN \n", "\n", " ResourceSkillcrush ResourceSO ResourceTreehouse ResourceUdacity \\\n", "1728 NaN NaN NaN NaN \n", "1755 NaN NaN NaN 1.0 \n", "7989 NaN NaN NaN NaN \n", "8126 NaN 1.0 NaN NaN \n", "13398 NaN 1.0 NaN NaN \n", "15587 NaN 1.0 NaN NaN \n", "\n", " ResourceUdemy ResourceW3S SchoolDegree \\\n", "1728 1.0 1.0 bachelor's degree \n", "1755 1.0 1.0 bachelor's degree \n", "7989 NaN NaN bachelor's degree \n", "8126 NaN NaN bachelor's degree \n", "13398 NaN 1.0 bachelor's degree \n", "15587 NaN 1.0 bachelor's degree \n", "\n", " SchoolMajor StudentDebtOwe \\\n", "1728 Computer Programming NaN \n", "1755 Computer Science NaN \n", "7989 Aerospace and Aeronautical Engineering 2500.0 \n", "8126 Electrical and Electronics Engineering 10000.0 \n", "13398 Computer Science NaN \n", "15587 Communications 25000.0 \n", "\n", " YouTubeCodeCourse YouTubeCodingTrain YouTubeCodingTut360 \\\n", "1728 NaN NaN NaN \n", "1755 NaN NaN 1.0 \n", "7989 NaN NaN NaN \n", "8126 NaN NaN NaN \n", "13398 NaN NaN NaN \n", "15587 NaN NaN NaN \n", "\n", " YouTubeComputerphile YouTubeDerekBanas YouTubeDevTips \\\n", "1728 NaN NaN NaN \n", "1755 NaN NaN NaN \n", "7989 NaN NaN NaN \n", "8126 NaN NaN NaN \n", "13398 NaN NaN NaN \n", "15587 NaN NaN NaN \n", "\n", " YouTubeEngineeredTruth YouTubeFCC YouTubeFunFunFunction \\\n", "1728 NaN 1.0 NaN \n", "1755 NaN 1.0 NaN \n", "7989 NaN 1.0 NaN \n", "8126 NaN NaN NaN \n", "13398 NaN NaN NaN \n", "15587 NaN NaN NaN \n", "\n", " YouTubeGoogleDev YouTubeLearnCode YouTubeLevelUpTuts YouTubeMIT \\\n", "1728 NaN NaN NaN NaN \n", "1755 NaN 1.0 NaN 1.0 \n", "7989 NaN NaN NaN NaN \n", "8126 1.0 NaN NaN 1.0 \n", "13398 NaN NaN NaN NaN \n", "15587 1.0 1.0 NaN 1.0 \n", "\n", " YouTubeMozillaHacks YouTubeOther YouTubeSimplilearn \\\n", "1728 NaN NaN NaN \n", "1755 NaN NaN NaN \n", "7989 NaN NaN NaN \n", "8126 NaN NaN NaN \n", "13398 NaN NaN NaN \n", "15587 NaN NaN NaN \n", "\n", " YouTubeTheNewBoston money_per_month \n", "1728 NaN 5000.000000 \n", "1755 NaN 3333.333333 \n", "7989 NaN 5000.000000 \n", "8126 1.0 5000.000000 \n", "13398 NaN 10000.000000 \n", "15587 NaN 4166.666667 " ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Inspect the extreme outliers for India\n", "india_outliers = only_4[\n", " (only_4['CountryLive'] == 'India') & \n", " (only_4['money_per_month'] >= 2500)]\n", "india_outliers" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It seems that neither participant attended a bootcamp. Overall, it's really hard to figure out from the data whether these persons really spent that much money with learning. The actual question of the survey was _\"Aside from university tuition, about how much money have you spent on learning to code so far (in US dollars)?\"_, so they might have misunderstood and thought university tuition is included. It seems safer to remove these two rows." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "# Remove the outliers for India\n", "only_4 = only_4.drop(india_outliers.index) # using the row labels" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Looking back at the box plot above, we can also see more extreme outliers for the US (values over \\$6000 per month). Let's examine these participants in more detail." ] }, { "cell_type": "code", "execution_count": 16, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AgeAttendedBootcampBootcampFinishBootcampLoanYesNoBootcampNameBootcampRecommendChildrenNumberCityPopulationCodeEventConferencesCodeEventDjangoGirlsCodeEventFCCCodeEventGameJamCodeEventGirlDevCodeEventHackathonsCodeEventMeetupCodeEventNodeSchoolCodeEventNoneCodeEventOtherCodeEventRailsBridgeCodeEventRailsGirlsCodeEventStartUpWkndCodeEventWkdBootcampsCodeEventWomenCodeCodeEventWorkshopsCommuteTimeCountryCitizenCountryLiveEmploymentFieldEmploymentFieldOtherEmploymentStatusEmploymentStatusOtherExpectedEarningFinanciallySupportingFirstDevJobGenderGenderOtherHasChildrenHasDebtHasFinancialDependentsHasHighSpdInternetHasHomeMortgageHasServedInMilitaryHasStudentDebtHomeMortgageOweHoursLearningID.xID.yIncomeIsEthnicMinorityIsReceiveDisabilitiesBenefitsIsSoftwareDevIsUnderEmployedJobApplyWhenJobInterestBackEndJobInterestDataEngrJobInterestDataSciJobInterestDevOpsJobInterestFrontEndJobInterestFullStackJobInterestGameDevJobInterestInfoSecJobInterestMobileJobInterestOtherJobInterestProjMngrJobInterestQAEngrJobInterestUXJobPrefJobRelocateYesNoJobRoleInterestJobWherePrefLanguageAtHomeMaritalStatusMoneyForLearningMonthsProgrammingNetworkIDPart1EndTimePart1StartTimePart2EndTimePart2StartTimePodcastChangeLogPodcastCodeNewbiePodcastCodePenPodcastDevTeaPodcastDotNETPodcastGiantRobotsPodcastJSAirPodcastJSJabberPodcastNonePodcastOtherPodcastProgThrowdownPodcastRubyRoguesPodcastSEDailyPodcastSERadioPodcastShopTalkPodcastTalkPythonPodcastTheWebAheadResourceCodecademyResourceCodeWarsResourceCourseraResourceCSSResourceEdXResourceEggheadResourceFCCResourceHackerRankResourceKAResourceLyndaResourceMDNResourceOdinProjResourceOtherResourcePluralSightResourceSkillcrushResourceSOResourceTreehouseResourceUdacityResourceUdemyResourceW3SSchoolDegreeSchoolMajorStudentDebtOweYouTubeCodeCourseYouTubeCodingTrainYouTubeCodingTut360YouTubeComputerphileYouTubeDerekBanasYouTubeDevTipsYouTubeEngineeredTruthYouTubeFCCYouTubeFunFunFunctionYouTubeGoogleDevYouTubeLearnCodeYouTubeLevelUpTutsYouTubeMITYouTubeMozillaHacksYouTubeOtherYouTubeSimplilearnYouTubeTheNewBostonmoney_per_month
71826.01.00.00.0The Coding Boot Camp at UCLA Extension1.0NaNmore than 1 million1.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN15 to 29 minutesUnited States of AmericaUnited States of Americaarchitecture or physical engineeringNaNEmployed for wagesNaN50000.0NaNNaNmaleNaNNaN0.00.00.0NaN0.0NaNNaN35.0796ae14c2acdee36eebc250a252abdafd9e44d73057fa5d322a071adc744bf0744500.00.00.00.01.0Within the next 6 months1.0NaNNaNNaN1.01.0NaNNaN1.0NaNNaNNaN1.0work for a startup1.0User Experience Designer, Full-Stack Web Dev...in an office with other developersEnglishsingle, never married8000.01.050dab3f7162017-03-09 21:26:352017-03-09 21:21:582017-03-09 21:29:102017-03-09 21:26:39NaN1.01.0NaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaN1.0NaNNaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNbachelor's degreeArchitectureNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaN8000.000000
122232.01.00.00.0The Iron Yard1.0NaNbetween 100,000 and 1 millionNaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNUnited States of AmericaUnited States of AmericaNaNNaNNot working and not looking for workNaN50000.0NaNNaNfemaleNaNNaN1.00.01.00.00.00.0NaN50.0bfabebb4293ac002d26a1397d00c7443590f0be70e80f1daf5a23eb7f4a72a3dNaN0.00.00.0NaNWithin the next 6 monthsNaNNaNNaNNaN1.0NaNNaNNaN1.0NaNNaNNaN1.0work for a nonprofit1.0Front-End Web Developer, Mobile Developer,...in an office with other developersEnglishsingle, never married13000.02.0e512c4bdd02017-03-10 02:14:112017-03-10 02:10:072017-03-10 02:15:322017-03-10 02:14:16NaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaN1.0NaN1.01.0NaNNaNNaN1.0NaNNaN1.01.01.01.01.01.0NaNbachelor's degreeAnthropologyNaNNaN1.0NaNNaNNaN1.0NaN1.0NaNNaN1.0NaNNaNNaNNaNNaNNaN6500.000000
318434.01.01.00.0We Can Code IT1.0NaNmore than 1 millionNaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaNLess than 15 minutesNaNUnited States of Americasoftware development and ITNaNEmployed for wagesNaN60000.0NaNNaNmaleNaNNaN0.00.01.0NaN0.0NaNNaN10.05d4889491d9d25a255e57fd1c0022458585e8f8b9a838ef1abbe8c6f1891c04840000.00.00.00.00.0I haven't decidedNaN1.01.01.0NaNNaNNaN1.0NaNNaNNaN1.01.0work for a medium-sized company0.0Quality Assurance Engineer, DevOps / SysAd...in an office with other developersEnglishsingle, never married9000.01.0e7bebaabd42017-03-11 23:34:162017-03-11 23:31:172017-03-11 23:36:022017-03-11 23:34:21NaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaN1.0NaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaN1.01.01.0some college credit, no degreeNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN9000.000000
393031.00.0NaNNaNNaNNaNNaNbetween 100,000 and 1 millionNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNUnited States of AmericaUnited States of AmericaNaNNaNNot working and not looking for workNaN100000.0NaNNaNmaleNaNNaN1.00.01.00.00.01.0NaN50.0e1d790033545934fbe5bb5b60e368cd97cf1e41682462c42ce48029abf77d43cNaN1.00.00.0NaNWithin the next 6 months1.0NaNNaN1.01.01.0NaNNaNNaNNaNNaNNaNNaNwork for a startup1.0DevOps / SysAdmin, Front-End Web Developer...no preferenceEnglishmarried or domestic partnership65000.06.075759e5a1c2017-03-13 10:06:462017-03-13 09:56:132017-03-13 10:10:002017-03-13 10:06:50NaNNaNNaNNaNNaNNaN1.01.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.01.0NaNNaNNaN1.0NaNreactivex.io/learnrx/ & jafar husainNaNNaN1.0NaNNaNNaNNaNbachelor's degreeBiology40000.0NaNNaNNaNNaNNaNNaN1.01.01.01.01.01.01.0NaNvarious conf presentationsNaNNaN10833.333333
680546.01.01.01.0Sabio.la0.0NaNbetween 100,000 and 1 millionNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNUnited States of AmericaUnited States of AmericaNaNNaNNot working but looking for workNaN70000.0NaNNaNmaleNaNNaN1.00.01.00.00.01.0NaN45.069096aacf4245694303cf8f7ce68a63f4c56f82a348836e76dd90d18a3d5ed88NaN1.00.00.0NaNWithin the next 6 monthsNaN1.01.0NaNNaN1.01.0NaNNaNNaN1.0NaNNaNwork for a multinational corporation1.0Full-Stack Web Developer, Game Developer, Pr...no preferenceEnglishmarried or domestic partnership15000.01.053d13b58e92017-03-21 20:13:082017-03-21 20:10:252017-03-21 20:14:362017-03-21 20:13:11NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaN1.01.01.01.01.0bachelor's degreeBusiness Administration and Management45000.0NaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaN15000.000000
719832.00.0NaNNaNNaNNaNNaNmore than 1 million1.0NaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaN15 to 29 minutesUnited States of AmericaUnited States of AmericaeducationNaNEmployed for wagesNaN55000.0NaNNaNmaleNaNNaN1.00.01.00.00.01.0NaN4.0cb2754165344e6be79da8a4c76bf3917272219fbd28a3a7562cb1d778e482e1eNaN1.00.00.00.0I'm already applying1.0NaNNaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNwork for a multinational corporation0.0Full-Stack Web Developer, Back-End Web Developerno preferenceSpanishsingle, never married70000.05.0439a4adaf62017-03-23 01:37:462017-03-23 01:35:012017-03-23 01:39:372017-03-23 01:37:49NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaN1.01.0NaNNaN1.0NaN1.0NaN1.0NaNNaNNaNNaN1.0NaN1.0NaN1.0professional degree (MBA, MD, JD, etc.)Computer ScienceNaNNaNNaNNaNNaNNaNNaNNaN1.0NaN1.01.01.0NaNNaNNaNNaNNaN14000.000000
750526.01.00.01.0Codeup0.0NaNmore than 1 millionNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNUnited States of AmericaUnited States of AmericaNaNNaNNot working but looking for workNaN65000.0NaNNaNmaleNaNNaN1.00.01.00.00.01.0NaN40.0657fb50800bcc99a07caf52387f67fbbad1df4669883d8f628f0b5598a4c5c45NaN0.00.00.0NaNWithin the next 6 months1.0NaNNaNNaN1.01.0NaN1.01.0NaNNaNNaNNaNwork for a government1.0Mobile Developer, Full-Stack Web Developer, ...in an office with other developersEnglishsingle, never married20000.03.096e254de362017-03-24 03:26:092017-03-24 03:23:022017-03-24 03:27:472017-03-24 03:26:14NaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaN1.0NaNNaN1.0NaNNaNNaN1.0NaN1.0NaNNaN1.01.0bachelor's degreeEconomics20000.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaN6666.666667
977833.01.00.01.0Grand Circus1.0NaNbetween 100,000 and 1 millionNaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaN15 to 29 minutesUnited States of AmericaUnited States of AmericaeducationNaNEmployed for wagesNaN55000.0NaNNaNmaleNaNNaN1.00.01.00.00.01.0NaN40.07a62790f6ded15e26d5f429b8a4d109598eeee1aa81ba70b2ab288bf4b63d70320000.00.00.00.01.0Within the next 6 months1.01.01.0NaNNaN1.0NaNNaN1.0NaNNaN1.0NaNwork for a medium-sized companyNaNFull-Stack Web Developer, Data Engineer, Qua...from homeEnglishsingle, never married8000.01.0ea80a3b15e2017-04-05 19:48:122017-04-05 19:40:192017-04-05 19:49:442017-04-05 19:49:03NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaN1.01.01.0NaNNaNmaster's degree (non-professional)Chemical Engineering45000.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN8000.000000
1665029.00.0NaNNaNNaNNaN2.0more than 1 millionNaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNUnited States of AmericaUnited States of AmericaNaNNaNNot working but looking for workNaNNaN1.0NaNmaleNaN1.01.01.01.01.00.01.0400000.040.0e1925d408c973b91cf3e9a92852387967e9e3c31a3dc2cafe3a09269398c4de8NaN1.01.00.0NaNI'm already applying1.01.0NaNNaN1.01.01.0NaNNaNNaN1.0NaNNaNwork for a multinational corporation1.0Product Manager, Data Engineer, Full-Stack W...in an office with other developersEnglishmarried or domestic partnership200000.012.01a45f4a3ef2017-03-14 02:42:572017-03-14 02:40:102017-03-14 02:45:552017-03-14 02:43:05NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaN1.0associate's degreeComputer Programming30000.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.016666.666667
1699727.00.0NaNNaNNaNNaN1.0more than 1 millionNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN15 to 29 minutesUnited States of AmericaUnited States of Americahealth careNaNEmployed for wagesNaN60000.00.0NaNfemaleNaN1.01.01.01.00.00.01.0NaN12.0624914ce07c296c866c9e16a14dc01c76384a1e576caf4b6b9339fe496a51f1f40000.01.00.00.00.0Within 7 to 12 monthsNaNNaNNaNNaN1.01.01.0NaN1.0NaN1.0NaN1.0work for a medium-sized company1.0Mobile Developer, Game Developer, User Exp...in an office with other developersEnglishsingle, never married12500.01.0ad1a21217c2017-03-20 05:43:282017-03-20 05:40:082017-03-20 05:45:282017-03-20 05:43:32NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaN1.01.0some college credit, no degreeNaN12500.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN12500.000000
1723150.00.0NaNNaNNaNNaN2.0less than 100,000NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNKenyaUnited States of AmericaNaNNaNNot working but looking for workNaN40000.00.0NaNfemaleNaN1.00.01.01.0NaN0.0NaNNaN1.0d4bc6ae775b20816fcd41048ef75417c606749cd07b124234ab6dff81b324c02NaN1.00.00.0NaNWithin the next 6 monthsNaNNaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaNwork for a nonprofit0.0Front-End Web Developerin an office with other developersEnglishmarried or domestic partnership30000.02.038c1b478d02017-03-24 18:48:232017-03-24 18:46:012017-03-24 18:51:202017-03-24 18:48:27NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNbachelor's degreeComputer ProgrammingNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN15000.000000
\n", "
" ], "text/plain": [ " Age AttendedBootcamp BootcampFinish BootcampLoanYesNo \\\n", "718 26.0 1.0 0.0 0.0 \n", "1222 32.0 1.0 0.0 0.0 \n", "3184 34.0 1.0 1.0 0.0 \n", "3930 31.0 0.0 NaN NaN \n", "6805 46.0 1.0 1.0 1.0 \n", "7198 32.0 0.0 NaN NaN \n", "7505 26.0 1.0 0.0 1.0 \n", "9778 33.0 1.0 0.0 1.0 \n", "16650 29.0 0.0 NaN NaN \n", "16997 27.0 0.0 NaN NaN \n", "17231 50.0 0.0 NaN NaN \n", "\n", " BootcampName BootcampRecommend \\\n", "718 The Coding Boot Camp at UCLA Extension 1.0 \n", "1222 The Iron Yard 1.0 \n", "3184 We Can Code IT 1.0 \n", "3930 NaN NaN \n", "6805 Sabio.la 0.0 \n", "7198 NaN NaN \n", "7505 Codeup 0.0 \n", "9778 Grand Circus 1.0 \n", "16650 NaN NaN \n", "16997 NaN NaN \n", "17231 NaN NaN \n", "\n", " ChildrenNumber CityPopulation CodeEventConferences \\\n", "718 NaN more than 1 million 1.0 \n", "1222 NaN between 100,000 and 1 million NaN \n", "3184 NaN more than 1 million NaN \n", "3930 NaN between 100,000 and 1 million NaN \n", "6805 NaN between 100,000 and 1 million NaN \n", "7198 NaN more than 1 million 1.0 \n", "7505 NaN more than 1 million NaN \n", "9778 NaN between 100,000 and 1 million NaN \n", "16650 2.0 more than 1 million NaN \n", "16997 1.0 more than 1 million NaN \n", "17231 2.0 less than 100,000 NaN \n", "\n", " CodeEventDjangoGirls CodeEventFCC CodeEventGameJam CodeEventGirlDev \\\n", "718 NaN NaN NaN NaN \n", "1222 NaN NaN NaN NaN \n", "3184 NaN NaN NaN NaN \n", "3930 NaN NaN NaN NaN \n", "6805 NaN NaN NaN NaN \n", "7198 NaN NaN NaN NaN \n", "7505 NaN NaN NaN NaN \n", "9778 NaN NaN NaN NaN \n", "16650 NaN NaN NaN NaN \n", "16997 NaN NaN NaN NaN \n", "17231 NaN NaN NaN NaN \n", "\n", " CodeEventHackathons CodeEventMeetup CodeEventNodeSchool \\\n", "718 NaN NaN NaN \n", "1222 NaN 1.0 NaN \n", "3184 NaN 1.0 NaN \n", "3930 NaN NaN NaN \n", "6805 NaN NaN NaN \n", "7198 NaN 1.0 NaN \n", "7505 NaN NaN NaN \n", "9778 NaN 1.0 NaN \n", "16650 NaN 1.0 NaN \n", "16997 NaN NaN NaN \n", "17231 NaN NaN NaN \n", "\n", " CodeEventNone CodeEventOther CodeEventRailsBridge \\\n", "718 NaN NaN NaN \n", "1222 NaN NaN NaN \n", "3184 NaN NaN NaN \n", "3930 NaN NaN NaN \n", "6805 NaN NaN NaN \n", "7198 NaN NaN NaN \n", "7505 NaN NaN NaN \n", "9778 NaN NaN NaN \n", "16650 NaN NaN NaN \n", "16997 NaN NaN NaN \n", "17231 NaN NaN NaN \n", "\n", " CodeEventRailsGirls CodeEventStartUpWknd CodeEventWkdBootcamps \\\n", "718 NaN NaN NaN \n", "1222 NaN NaN NaN \n", "3184 NaN NaN NaN \n", "3930 NaN NaN NaN \n", "6805 NaN NaN NaN \n", "7198 NaN NaN NaN \n", "7505 NaN 1.0 NaN \n", "9778 NaN NaN NaN \n", "16650 NaN NaN NaN \n", "16997 NaN NaN NaN \n", "17231 NaN NaN NaN \n", "\n", " CodeEventWomenCode CodeEventWorkshops CommuteTime \\\n", "718 NaN NaN 15 to 29 minutes \n", "1222 NaN NaN NaN \n", "3184 NaN NaN Less than 15 minutes \n", "3930 NaN NaN NaN \n", "6805 NaN NaN NaN \n", "7198 NaN NaN 15 to 29 minutes \n", "7505 NaN NaN NaN \n", "9778 NaN NaN 15 to 29 minutes \n", "16650 NaN NaN NaN \n", "16997 NaN NaN 15 to 29 minutes \n", "17231 1.0 NaN NaN \n", "\n", " CountryCitizen CountryLive \\\n", "718 United States of America United States of America \n", "1222 United States of America United States of America \n", "3184 NaN United States of America \n", "3930 United States of America United States of America \n", "6805 United States of America United States of America \n", "7198 United States of America United States of America \n", "7505 United States of America United States of America \n", "9778 United States of America United States of America \n", "16650 United States of America United States of America \n", "16997 United States of America United States of America \n", "17231 Kenya United States of America \n", "\n", " EmploymentField EmploymentFieldOther \\\n", "718 architecture or physical engineering NaN \n", "1222 NaN NaN \n", "3184 software development and IT NaN \n", "3930 NaN NaN \n", "6805 NaN NaN \n", "7198 education NaN \n", "7505 NaN NaN \n", "9778 education NaN \n", "16650 NaN NaN \n", "16997 health care NaN \n", "17231 NaN NaN \n", "\n", " EmploymentStatus EmploymentStatusOther \\\n", "718 Employed for wages NaN \n", "1222 Not working and not looking for work NaN \n", "3184 Employed for wages NaN \n", "3930 Not working and not looking for work NaN \n", "6805 Not working but looking for work NaN \n", "7198 Employed for wages NaN \n", "7505 Not working but looking for work NaN \n", "9778 Employed for wages NaN \n", "16650 Not working but looking for work NaN \n", "16997 Employed for wages NaN \n", "17231 Not working but looking for work NaN \n", "\n", " ExpectedEarning FinanciallySupporting FirstDevJob Gender \\\n", "718 50000.0 NaN NaN male \n", "1222 50000.0 NaN NaN female \n", "3184 60000.0 NaN NaN male \n", "3930 100000.0 NaN NaN male \n", "6805 70000.0 NaN NaN male \n", "7198 55000.0 NaN NaN male \n", "7505 65000.0 NaN NaN male \n", "9778 55000.0 NaN NaN male \n", "16650 NaN 1.0 NaN male \n", "16997 60000.0 0.0 NaN female \n", "17231 40000.0 0.0 NaN female \n", "\n", " GenderOther HasChildren HasDebt HasFinancialDependents \\\n", "718 NaN NaN 0.0 0.0 \n", "1222 NaN NaN 1.0 0.0 \n", "3184 NaN NaN 0.0 0.0 \n", "3930 NaN NaN 1.0 0.0 \n", "6805 NaN NaN 1.0 0.0 \n", "7198 NaN NaN 1.0 0.0 \n", "7505 NaN NaN 1.0 0.0 \n", "9778 NaN NaN 1.0 0.0 \n", "16650 NaN 1.0 1.0 1.0 \n", "16997 NaN 1.0 1.0 1.0 \n", "17231 NaN 1.0 0.0 1.0 \n", "\n", " HasHighSpdInternet HasHomeMortgage HasServedInMilitary \\\n", "718 0.0 NaN 0.0 \n", "1222 1.0 0.0 0.0 \n", "3184 1.0 NaN 0.0 \n", "3930 1.0 0.0 0.0 \n", "6805 1.0 0.0 0.0 \n", "7198 1.0 0.0 0.0 \n", "7505 1.0 0.0 0.0 \n", "9778 1.0 0.0 0.0 \n", "16650 1.0 1.0 0.0 \n", "16997 1.0 0.0 0.0 \n", "17231 1.0 NaN 0.0 \n", "\n", " HasStudentDebt HomeMortgageOwe HoursLearning \\\n", "718 NaN NaN 35.0 \n", "1222 0.0 NaN 50.0 \n", "3184 NaN NaN 10.0 \n", "3930 1.0 NaN 50.0 \n", "6805 1.0 NaN 45.0 \n", "7198 1.0 NaN 4.0 \n", "7505 1.0 NaN 40.0 \n", "9778 1.0 NaN 40.0 \n", "16650 1.0 400000.0 40.0 \n", "16997 1.0 NaN 12.0 \n", "17231 NaN NaN 1.0 \n", "\n", " ID.x ID.y \\\n", "718 796ae14c2acdee36eebc250a252abdaf d9e44d73057fa5d322a071adc744bf07 \n", "1222 bfabebb4293ac002d26a1397d00c7443 590f0be70e80f1daf5a23eb7f4a72a3d \n", "3184 5d4889491d9d25a255e57fd1c0022458 585e8f8b9a838ef1abbe8c6f1891c048 \n", "3930 e1d790033545934fbe5bb5b60e368cd9 7cf1e41682462c42ce48029abf77d43c \n", "6805 69096aacf4245694303cf8f7ce68a63f 4c56f82a348836e76dd90d18a3d5ed88 \n", "7198 cb2754165344e6be79da8a4c76bf3917 272219fbd28a3a7562cb1d778e482e1e \n", "7505 657fb50800bcc99a07caf52387f67fbb ad1df4669883d8f628f0b5598a4c5c45 \n", "9778 7a62790f6ded15e26d5f429b8a4d1095 98eeee1aa81ba70b2ab288bf4b63d703 \n", "16650 e1925d408c973b91cf3e9a9285238796 7e9e3c31a3dc2cafe3a09269398c4de8 \n", "16997 624914ce07c296c866c9e16a14dc01c7 6384a1e576caf4b6b9339fe496a51f1f \n", "17231 d4bc6ae775b20816fcd41048ef75417c 606749cd07b124234ab6dff81b324c02 \n", "\n", " Income IsEthnicMinority IsReceiveDisabilitiesBenefits \\\n", "718 44500.0 0.0 0.0 \n", "1222 NaN 0.0 0.0 \n", "3184 40000.0 0.0 0.0 \n", "3930 NaN 1.0 0.0 \n", "6805 NaN 1.0 0.0 \n", "7198 NaN 1.0 0.0 \n", "7505 NaN 0.0 0.0 \n", "9778 20000.0 0.0 0.0 \n", "16650 NaN 1.0 1.0 \n", "16997 40000.0 1.0 0.0 \n", "17231 NaN 1.0 0.0 \n", "\n", " IsSoftwareDev IsUnderEmployed JobApplyWhen \\\n", "718 0.0 1.0 Within the next 6 months \n", "1222 0.0 NaN Within the next 6 months \n", "3184 0.0 0.0 I haven't decided \n", "3930 0.0 NaN Within the next 6 months \n", "6805 0.0 NaN Within the next 6 months \n", "7198 0.0 0.0 I'm already applying \n", "7505 0.0 NaN Within the next 6 months \n", "9778 0.0 1.0 Within the next 6 months \n", "16650 0.0 NaN I'm already applying \n", "16997 0.0 0.0 Within 7 to 12 months \n", "17231 0.0 NaN Within the next 6 months \n", "\n", " JobInterestBackEnd JobInterestDataEngr JobInterestDataSci \\\n", "718 1.0 NaN NaN \n", "1222 NaN NaN NaN \n", "3184 NaN 1.0 1.0 \n", "3930 1.0 NaN NaN \n", "6805 NaN 1.0 1.0 \n", "7198 1.0 NaN NaN \n", "7505 1.0 NaN NaN \n", "9778 1.0 1.0 1.0 \n", "16650 1.0 1.0 NaN \n", "16997 NaN NaN NaN \n", "17231 NaN NaN NaN \n", "\n", " JobInterestDevOps JobInterestFrontEnd JobInterestFullStack \\\n", "718 NaN 1.0 1.0 \n", "1222 NaN 1.0 NaN \n", "3184 1.0 NaN NaN \n", "3930 1.0 1.0 1.0 \n", "6805 NaN NaN 1.0 \n", "7198 NaN NaN 1.0 \n", "7505 NaN 1.0 1.0 \n", "9778 NaN NaN 1.0 \n", "16650 NaN 1.0 1.0 \n", "16997 NaN 1.0 1.0 \n", "17231 NaN 1.0 NaN \n", "\n", " JobInterestGameDev JobInterestInfoSec JobInterestMobile \\\n", "718 NaN NaN 1.0 \n", "1222 NaN NaN 1.0 \n", "3184 NaN 1.0 NaN \n", "3930 NaN NaN NaN \n", "6805 1.0 NaN NaN \n", "7198 NaN NaN NaN \n", "7505 NaN 1.0 1.0 \n", "9778 NaN NaN 1.0 \n", "16650 1.0 NaN NaN \n", "16997 1.0 NaN 1.0 \n", "17231 NaN NaN NaN \n", "\n", " JobInterestOther JobInterestProjMngr JobInterestQAEngr JobInterestUX \\\n", "718 NaN NaN NaN 1.0 \n", "1222 NaN NaN NaN 1.0 \n", "3184 NaN NaN 1.0 1.0 \n", "3930 NaN NaN NaN NaN \n", "6805 NaN 1.0 NaN NaN \n", "7198 NaN NaN NaN NaN \n", "7505 NaN NaN NaN NaN \n", "9778 NaN NaN 1.0 NaN \n", "16650 NaN 1.0 NaN NaN \n", "16997 NaN 1.0 NaN 1.0 \n", "17231 NaN NaN NaN NaN \n", "\n", " JobPref JobRelocateYesNo \\\n", "718 work for a startup 1.0 \n", "1222 work for a nonprofit 1.0 \n", "3184 work for a medium-sized company 0.0 \n", "3930 work for a startup 1.0 \n", "6805 work for a multinational corporation 1.0 \n", "7198 work for a multinational corporation 0.0 \n", "7505 work for a government 1.0 \n", "9778 work for a medium-sized company NaN \n", "16650 work for a multinational corporation 1.0 \n", "16997 work for a medium-sized company 1.0 \n", "17231 work for a nonprofit 0.0 \n", "\n", " JobRoleInterest \\\n", "718 User Experience Designer, Full-Stack Web Dev... \n", "1222 Front-End Web Developer, Mobile Developer,... \n", "3184 Quality Assurance Engineer, DevOps / SysAd... \n", "3930 DevOps / SysAdmin, Front-End Web Developer... \n", "6805 Full-Stack Web Developer, Game Developer, Pr... \n", "7198 Full-Stack Web Developer, Back-End Web Developer \n", "7505 Mobile Developer, Full-Stack Web Developer, ... \n", "9778 Full-Stack Web Developer, Data Engineer, Qua... \n", "16650 Product Manager, Data Engineer, Full-Stack W... \n", "16997 Mobile Developer, Game Developer, User Exp... \n", "17231 Front-End Web Developer \n", "\n", " JobWherePref LanguageAtHome \\\n", "718 in an office with other developers English \n", "1222 in an office with other developers English \n", "3184 in an office with other developers English \n", "3930 no preference English \n", "6805 no preference English \n", "7198 no preference Spanish \n", "7505 in an office with other developers English \n", "9778 from home English \n", "16650 in an office with other developers English \n", "16997 in an office with other developers English \n", "17231 in an office with other developers English \n", "\n", " MaritalStatus MoneyForLearning MonthsProgramming \\\n", "718 single, never married 8000.0 1.0 \n", "1222 single, never married 13000.0 2.0 \n", "3184 single, never married 9000.0 1.0 \n", "3930 married or domestic partnership 65000.0 6.0 \n", "6805 married or domestic partnership 15000.0 1.0 \n", "7198 single, never married 70000.0 5.0 \n", "7505 single, never married 20000.0 3.0 \n", "9778 single, never married 8000.0 1.0 \n", "16650 married or domestic partnership 200000.0 12.0 \n", "16997 single, never married 12500.0 1.0 \n", "17231 married or domestic partnership 30000.0 2.0 \n", "\n", " NetworkID Part1EndTime Part1StartTime \\\n", "718 50dab3f716 2017-03-09 21:26:35 2017-03-09 21:21:58 \n", "1222 e512c4bdd0 2017-03-10 02:14:11 2017-03-10 02:10:07 \n", "3184 e7bebaabd4 2017-03-11 23:34:16 2017-03-11 23:31:17 \n", "3930 75759e5a1c 2017-03-13 10:06:46 2017-03-13 09:56:13 \n", "6805 53d13b58e9 2017-03-21 20:13:08 2017-03-21 20:10:25 \n", "7198 439a4adaf6 2017-03-23 01:37:46 2017-03-23 01:35:01 \n", "7505 96e254de36 2017-03-24 03:26:09 2017-03-24 03:23:02 \n", "9778 ea80a3b15e 2017-04-05 19:48:12 2017-04-05 19:40:19 \n", "16650 1a45f4a3ef 2017-03-14 02:42:57 2017-03-14 02:40:10 \n", "16997 ad1a21217c 2017-03-20 05:43:28 2017-03-20 05:40:08 \n", "17231 38c1b478d0 2017-03-24 18:48:23 2017-03-24 18:46:01 \n", "\n", " Part2EndTime Part2StartTime PodcastChangeLog \\\n", "718 2017-03-09 21:29:10 2017-03-09 21:26:39 NaN \n", "1222 2017-03-10 02:15:32 2017-03-10 02:14:16 NaN \n", "3184 2017-03-11 23:36:02 2017-03-11 23:34:21 NaN \n", "3930 2017-03-13 10:10:00 2017-03-13 10:06:50 NaN \n", "6805 2017-03-21 20:14:36 2017-03-21 20:13:11 NaN \n", "7198 2017-03-23 01:39:37 2017-03-23 01:37:49 NaN \n", "7505 2017-03-24 03:27:47 2017-03-24 03:26:14 NaN \n", "9778 2017-04-05 19:49:44 2017-04-05 19:49:03 NaN \n", "16650 2017-03-14 02:45:55 2017-03-14 02:43:05 NaN \n", "16997 2017-03-20 05:45:28 2017-03-20 05:43:32 NaN \n", "17231 2017-03-24 18:51:20 2017-03-24 18:48:27 NaN \n", "\n", " PodcastCodeNewbie PodcastCodePen PodcastDevTea PodcastDotNET \\\n", "718 1.0 1.0 NaN NaN \n", "1222 NaN NaN NaN NaN \n", "3184 1.0 NaN NaN NaN \n", "3930 NaN NaN NaN NaN \n", "6805 NaN NaN NaN NaN \n", "7198 NaN NaN NaN NaN \n", "7505 NaN NaN 1.0 NaN \n", "9778 NaN NaN NaN NaN \n", "16650 NaN NaN NaN NaN \n", "16997 NaN NaN NaN NaN \n", "17231 NaN NaN NaN NaN \n", "\n", " PodcastGiantRobots PodcastJSAir PodcastJSJabber PodcastNone \\\n", "718 NaN NaN NaN NaN \n", "1222 NaN NaN 1.0 NaN \n", "3184 NaN NaN NaN NaN \n", "3930 NaN 1.0 1.0 NaN \n", "6805 NaN NaN NaN NaN \n", "7198 NaN NaN NaN NaN \n", "7505 NaN NaN NaN NaN \n", "9778 NaN NaN NaN NaN \n", "16650 NaN NaN NaN NaN \n", "16997 NaN NaN NaN NaN \n", "17231 NaN NaN NaN NaN \n", "\n", " PodcastOther PodcastProgThrowdown PodcastRubyRogues PodcastSEDaily \\\n", "718 NaN NaN NaN 1.0 \n", "1222 NaN NaN NaN NaN \n", "3184 NaN NaN NaN 1.0 \n", "3930 NaN NaN NaN NaN \n", "6805 NaN NaN NaN NaN \n", "7198 NaN NaN NaN NaN \n", "7505 NaN NaN NaN NaN \n", "9778 NaN NaN NaN NaN \n", "16650 NaN NaN NaN NaN \n", "16997 NaN NaN NaN NaN \n", "17231 NaN NaN NaN 1.0 \n", "\n", " PodcastSERadio PodcastShopTalk PodcastTalkPython PodcastTheWebAhead \\\n", "718 NaN NaN NaN NaN \n", "1222 NaN NaN NaN NaN \n", "3184 NaN NaN NaN NaN \n", "3930 NaN NaN NaN NaN \n", "6805 NaN NaN NaN NaN \n", "7198 NaN NaN NaN NaN \n", "7505 NaN NaN NaN NaN \n", "9778 NaN NaN NaN NaN \n", "16650 NaN NaN NaN NaN \n", "16997 NaN NaN NaN NaN \n", "17231 NaN NaN NaN NaN \n", "\n", " ResourceCodecademy ResourceCodeWars ResourceCoursera ResourceCSS \\\n", "718 NaN 1.0 NaN NaN \n", "1222 1.0 NaN NaN 1.0 \n", "3184 NaN 1.0 NaN 1.0 \n", "3930 NaN NaN NaN NaN \n", "6805 1.0 NaN NaN NaN \n", "7198 1.0 NaN 1.0 1.0 \n", "7505 1.0 NaN NaN NaN \n", "9778 NaN NaN NaN NaN \n", "16650 NaN NaN 1.0 NaN \n", "16997 1.0 NaN NaN NaN \n", "17231 NaN NaN NaN NaN \n", "\n", " ResourceEdX ResourceEgghead ResourceFCC ResourceHackerRank \\\n", "718 NaN NaN 1.0 NaN \n", "1222 NaN 1.0 1.0 NaN \n", "3184 NaN NaN NaN NaN \n", "3930 NaN 1.0 1.0 NaN \n", "6805 NaN NaN 1.0 NaN \n", "7198 NaN NaN 1.0 NaN \n", "7505 NaN NaN 1.0 NaN \n", "9778 NaN NaN 1.0 NaN \n", "16650 NaN NaN 1.0 NaN \n", "16997 NaN NaN 1.0 NaN \n", "17231 NaN NaN NaN NaN \n", "\n", " ResourceKA ResourceLynda ResourceMDN ResourceOdinProj \\\n", "718 NaN NaN NaN NaN \n", "1222 NaN NaN 1.0 NaN \n", "3184 NaN NaN NaN NaN \n", "3930 NaN NaN 1.0 NaN \n", "6805 NaN NaN NaN NaN \n", "7198 1.0 NaN 1.0 NaN \n", "7505 NaN 1.0 NaN NaN \n", "9778 NaN NaN NaN NaN \n", "16650 NaN NaN NaN NaN \n", "16997 NaN NaN NaN NaN \n", "17231 NaN NaN NaN NaN \n", "\n", " ResourceOther ResourcePluralSight \\\n", "718 NaN NaN \n", "1222 NaN 1.0 \n", "3184 NaN NaN \n", "3930 reactivex.io/learnrx/ & jafar husain NaN \n", "6805 NaN NaN \n", "7198 NaN NaN \n", "7505 NaN 1.0 \n", "9778 NaN NaN \n", "16650 NaN NaN \n", "16997 NaN NaN \n", "17231 NaN NaN \n", "\n", " ResourceSkillcrush ResourceSO ResourceTreehouse ResourceUdacity \\\n", "718 NaN NaN NaN NaN \n", "1222 1.0 1.0 1.0 1.0 \n", "3184 NaN 1.0 NaN 1.0 \n", "3930 NaN 1.0 NaN NaN \n", "6805 NaN 1.0 1.0 1.0 \n", "7198 NaN 1.0 NaN 1.0 \n", "7505 NaN 1.0 NaN NaN \n", "9778 NaN 1.0 1.0 1.0 \n", "16650 NaN NaN NaN 1.0 \n", "16997 NaN 1.0 NaN NaN \n", "17231 NaN NaN NaN NaN \n", "\n", " ResourceUdemy ResourceW3S SchoolDegree \\\n", "718 NaN NaN bachelor's degree \n", "1222 1.0 NaN bachelor's degree \n", "3184 1.0 1.0 some college credit, no degree \n", "3930 NaN NaN bachelor's degree \n", "6805 1.0 1.0 bachelor's degree \n", "7198 NaN 1.0 professional degree (MBA, MD, JD, etc.) \n", "7505 1.0 1.0 bachelor's degree \n", "9778 NaN NaN master's degree (non-professional) \n", "16650 NaN 1.0 associate's degree \n", "16997 1.0 1.0 some college credit, no degree \n", "17231 1.0 NaN bachelor's degree \n", "\n", " SchoolMajor StudentDebtOwe \\\n", "718 Architecture NaN \n", "1222 Anthropology NaN \n", "3184 NaN NaN \n", "3930 Biology 40000.0 \n", "6805 Business Administration and Management 45000.0 \n", "7198 Computer Science NaN \n", "7505 Economics 20000.0 \n", "9778 Chemical Engineering 45000.0 \n", "16650 Computer Programming 30000.0 \n", "16997 NaN 12500.0 \n", "17231 Computer Programming NaN \n", "\n", " YouTubeCodeCourse YouTubeCodingTrain YouTubeCodingTut360 \\\n", "718 NaN NaN NaN \n", "1222 NaN 1.0 NaN \n", "3184 NaN NaN NaN \n", "3930 NaN NaN NaN \n", "6805 NaN NaN NaN \n", "7198 NaN NaN NaN \n", "7505 NaN NaN NaN \n", "9778 NaN NaN NaN \n", "16650 NaN NaN NaN \n", "16997 NaN NaN NaN \n", "17231 NaN NaN NaN \n", "\n", " YouTubeComputerphile YouTubeDerekBanas YouTubeDevTips \\\n", "718 NaN NaN NaN \n", "1222 NaN NaN 1.0 \n", "3184 NaN NaN NaN \n", "3930 NaN NaN NaN \n", "6805 NaN NaN NaN \n", "7198 NaN NaN NaN \n", "7505 NaN NaN NaN \n", "9778 NaN NaN NaN \n", "16650 NaN NaN NaN \n", "16997 NaN NaN NaN \n", "17231 NaN 1.0 NaN \n", "\n", " YouTubeEngineeredTruth YouTubeFCC YouTubeFunFunFunction \\\n", "718 NaN 1.0 NaN \n", "1222 NaN 1.0 NaN \n", "3184 NaN NaN NaN \n", "3930 1.0 1.0 1.0 \n", "6805 NaN 1.0 NaN \n", "7198 NaN 1.0 NaN \n", "7505 NaN NaN NaN \n", "9778 NaN NaN NaN \n", "16650 NaN NaN NaN \n", "16997 NaN NaN NaN \n", "17231 NaN NaN NaN \n", "\n", " YouTubeGoogleDev YouTubeLearnCode YouTubeLevelUpTuts YouTubeMIT \\\n", "718 NaN NaN NaN NaN \n", "1222 NaN 1.0 NaN NaN \n", "3184 NaN NaN NaN NaN \n", "3930 1.0 1.0 1.0 1.0 \n", "6805 NaN NaN NaN NaN \n", "7198 1.0 1.0 1.0 NaN \n", "7505 NaN NaN NaN 1.0 \n", "9778 NaN NaN NaN NaN \n", "16650 NaN NaN NaN NaN \n", "16997 NaN NaN NaN NaN \n", "17231 NaN NaN NaN NaN \n", "\n", " YouTubeMozillaHacks YouTubeOther YouTubeSimplilearn \\\n", "718 NaN NaN NaN \n", "1222 NaN NaN NaN \n", "3184 NaN NaN NaN \n", "3930 NaN various conf presentations NaN \n", "6805 NaN NaN NaN \n", "7198 NaN NaN NaN \n", "7505 NaN NaN NaN \n", "9778 NaN NaN NaN \n", "16650 NaN NaN NaN \n", "16997 NaN NaN NaN \n", "17231 NaN NaN NaN \n", "\n", " YouTubeTheNewBoston money_per_month \n", "718 NaN 8000.000000 \n", "1222 NaN 6500.000000 \n", "3184 NaN 9000.000000 \n", "3930 NaN 10833.333333 \n", "6805 NaN 15000.000000 \n", "7198 NaN 14000.000000 \n", "7505 NaN 6666.666667 \n", "9778 NaN 8000.000000 \n", "16650 1.0 16666.666667 \n", "16997 NaN 12500.000000 \n", "17231 NaN 15000.000000 " ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Examine the extreme outliers for the US\n", "us_outliers = only_4[\n", " (only_4['CountryLive'] == 'United States of America') & \n", " (only_4['money_per_month'] >= 6000)]\n", "\n", "us_outliers" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Out of these 11 extreme outliers, six people attended bootcamps, which justify the large sums of money spent on learning. For the other five, it's hard to figure out from the data where they could have spent that much money on learning. Consequently, we'll remove those rows where participants reported thay they spend \\$6000 each month, but they have never attended a bootcamp.\n", "\n", "Also, the data shows that eight respondents had been programming for no more than three months when they completed the survey. They most likely paid a large sum of money for a bootcamp that was going to last for several months, so the amount of money spent per month is unrealistic and should be significantly lower (because they probably didn't spend anything for the next couple of months after the survey). As a consequence, we'll remove every these eight outliers.\n", "\n", "In the next code block, we'll remove respondents that:\n", "\n", "- Didn't attend bootcamps.\n", "- Had been programming for three months or less when at the time they completed the survey." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "# Remove the respondents who didn't attendent a bootcamp\n", "no_bootcamp = only_4[\n", " (only_4['CountryLive'] == 'United States of America') & \n", " (only_4['money_per_month'] >= 6000) &\n", " (only_4['AttendedBootcamp'] == 0)\n", "]\n", "\n", "only_4 = only_4.drop(no_bootcamp.index)\n", "\n", "\n", "# Remove the respondents that had been programming for less than 3 months\n", "less_than_3_months = only_4[\n", " (only_4['CountryLive'] == 'United States of America') & \n", " (only_4['money_per_month'] >= 6000) &\n", " (only_4['MonthsProgramming'] <= 3)\n", "]\n", "\n", "only_4 = only_4.drop(less_than_3_months.index)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Looking again at the last box plot above, we can also see an extreme outlier for Canada — a person who spends roughly \\$5000 per month. Let's examine this person in more depth." ] }, { "cell_type": "code", "execution_count": 18, "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", "
AgeAttendedBootcampBootcampFinishBootcampLoanYesNoBootcampNameBootcampRecommendChildrenNumberCityPopulationCodeEventConferencesCodeEventDjangoGirlsCodeEventFCCCodeEventGameJamCodeEventGirlDevCodeEventHackathonsCodeEventMeetupCodeEventNodeSchoolCodeEventNoneCodeEventOtherCodeEventRailsBridgeCodeEventRailsGirlsCodeEventStartUpWkndCodeEventWkdBootcampsCodeEventWomenCodeCodeEventWorkshopsCommuteTimeCountryCitizenCountryLiveEmploymentFieldEmploymentFieldOtherEmploymentStatusEmploymentStatusOtherExpectedEarningFinanciallySupportingFirstDevJobGenderGenderOtherHasChildrenHasDebtHasFinancialDependentsHasHighSpdInternetHasHomeMortgageHasServedInMilitaryHasStudentDebtHomeMortgageOweHoursLearningID.xID.yIncomeIsEthnicMinorityIsReceiveDisabilitiesBenefitsIsSoftwareDevIsUnderEmployedJobApplyWhenJobInterestBackEndJobInterestDataEngrJobInterestDataSciJobInterestDevOpsJobInterestFrontEndJobInterestFullStackJobInterestGameDevJobInterestInfoSecJobInterestMobileJobInterestOtherJobInterestProjMngrJobInterestQAEngrJobInterestUXJobPrefJobRelocateYesNoJobRoleInterestJobWherePrefLanguageAtHomeMaritalStatusMoneyForLearningMonthsProgrammingNetworkIDPart1EndTimePart1StartTimePart2EndTimePart2StartTimePodcastChangeLogPodcastCodeNewbiePodcastCodePenPodcastDevTeaPodcastDotNETPodcastGiantRobotsPodcastJSAirPodcastJSJabberPodcastNonePodcastOtherPodcastProgThrowdownPodcastRubyRoguesPodcastSEDailyPodcastSERadioPodcastShopTalkPodcastTalkPythonPodcastTheWebAheadResourceCodecademyResourceCodeWarsResourceCourseraResourceCSSResourceEdXResourceEggheadResourceFCCResourceHackerRankResourceKAResourceLyndaResourceMDNResourceOdinProjResourceOtherResourcePluralSightResourceSkillcrushResourceSOResourceTreehouseResourceUdacityResourceUdemyResourceW3SSchoolDegreeSchoolMajorStudentDebtOweYouTubeCodeCourseYouTubeCodingTrainYouTubeCodingTut360YouTubeComputerphileYouTubeDerekBanasYouTubeDevTipsYouTubeEngineeredTruthYouTubeFCCYouTubeFunFunFunctionYouTubeGoogleDevYouTubeLearnCodeYouTubeLevelUpTutsYouTubeMITYouTubeMozillaHacksYouTubeOtherYouTubeSimplilearnYouTubeTheNewBostonmoney_per_month
1365924.01.00.00.0Bloc.io1.0NaNmore than 1 million1.0NaN1.0NaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaN1.030 to 44 minutesCanadaCanadafinanceNaNEmployed for wagesNaN60000.0NaNNaNmaleNaNNaN1.00.01.01.00.00.0250000.010.0739b584aef0541450c1f713b8202518128381a455ab25cc2a118d78af44d8749140000.01.01.00.00.0I haven't decided1.0NaN1.0NaN1.01.01.0NaN1.0NaN1.0NaN1.0work for a multinational corporationNaNMobile Developer, Full-Stack Web Developer, ...from homeYue (Cantonese) Chinesesingle, never married10000.02.041c26f29322017-03-25 23:23:032017-03-25 23:20:332017-03-25 23:24:342017-03-25 23:23:06NaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaN1.01.01.0NaNNaNNaN1.0NaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaN1.0bachelor's degreeFinanceNaNNaNNaNNaNNaNNaNNaNNaN1.0NaNNaNNaNNaN1.0NaNNaNNaNNaN5000.0
\n", "
" ], "text/plain": [ " Age AttendedBootcamp BootcampFinish BootcampLoanYesNo BootcampName \\\n", "13659 24.0 1.0 0.0 0.0 Bloc.io \n", "\n", " BootcampRecommend ChildrenNumber CityPopulation \\\n", "13659 1.0 NaN more than 1 million \n", "\n", " CodeEventConferences CodeEventDjangoGirls CodeEventFCC \\\n", "13659 1.0 NaN 1.0 \n", "\n", " CodeEventGameJam CodeEventGirlDev CodeEventHackathons \\\n", "13659 NaN NaN NaN \n", "\n", " CodeEventMeetup CodeEventNodeSchool CodeEventNone CodeEventOther \\\n", "13659 1.0 NaN NaN NaN \n", "\n", " CodeEventRailsBridge CodeEventRailsGirls CodeEventStartUpWknd \\\n", "13659 NaN NaN NaN \n", "\n", " CodeEventWkdBootcamps CodeEventWomenCode CodeEventWorkshops \\\n", "13659 NaN NaN 1.0 \n", "\n", " CommuteTime CountryCitizen CountryLive EmploymentField \\\n", "13659 30 to 44 minutes Canada Canada finance \n", "\n", " EmploymentFieldOther EmploymentStatus EmploymentStatusOther \\\n", "13659 NaN Employed for wages NaN \n", "\n", " ExpectedEarning FinanciallySupporting FirstDevJob Gender GenderOther \\\n", "13659 60000.0 NaN NaN male NaN \n", "\n", " HasChildren HasDebt HasFinancialDependents HasHighSpdInternet \\\n", "13659 NaN 1.0 0.0 1.0 \n", "\n", " HasHomeMortgage HasServedInMilitary HasStudentDebt HomeMortgageOwe \\\n", "13659 1.0 0.0 0.0 250000.0 \n", "\n", " HoursLearning ID.x \\\n", "13659 10.0 739b584aef0541450c1f713b82025181 \n", "\n", " ID.y Income IsEthnicMinority \\\n", "13659 28381a455ab25cc2a118d78af44d8749 140000.0 1.0 \n", "\n", " IsReceiveDisabilitiesBenefits IsSoftwareDev IsUnderEmployed \\\n", "13659 1.0 0.0 0.0 \n", "\n", " JobApplyWhen JobInterestBackEnd JobInterestDataEngr \\\n", "13659 I haven't decided 1.0 NaN \n", "\n", " JobInterestDataSci JobInterestDevOps JobInterestFrontEnd \\\n", "13659 1.0 NaN 1.0 \n", "\n", " JobInterestFullStack JobInterestGameDev JobInterestInfoSec \\\n", "13659 1.0 1.0 NaN \n", "\n", " JobInterestMobile JobInterestOther JobInterestProjMngr \\\n", "13659 1.0 NaN 1.0 \n", "\n", " JobInterestQAEngr JobInterestUX JobPref \\\n", "13659 NaN 1.0 work for a multinational corporation \n", "\n", " JobRelocateYesNo JobRoleInterest \\\n", "13659 NaN Mobile Developer, Full-Stack Web Developer, ... \n", "\n", " JobWherePref LanguageAtHome MaritalStatus \\\n", "13659 from home Yue (Cantonese) Chinese single, never married \n", "\n", " MoneyForLearning MonthsProgramming NetworkID Part1EndTime \\\n", "13659 10000.0 2.0 41c26f2932 2017-03-25 23:23:03 \n", "\n", " Part1StartTime Part2EndTime Part2StartTime \\\n", "13659 2017-03-25 23:20:33 2017-03-25 23:24:34 2017-03-25 23:23:06 \n", "\n", " PodcastChangeLog PodcastCodeNewbie PodcastCodePen PodcastDevTea \\\n", "13659 NaN NaN NaN NaN \n", "\n", " PodcastDotNET PodcastGiantRobots PodcastJSAir PodcastJSJabber \\\n", "13659 NaN NaN NaN NaN \n", "\n", " PodcastNone PodcastOther PodcastProgThrowdown PodcastRubyRogues \\\n", "13659 1.0 NaN NaN NaN \n", "\n", " PodcastSEDaily PodcastSERadio PodcastShopTalk PodcastTalkPython \\\n", "13659 NaN NaN NaN NaN \n", "\n", " PodcastTheWebAhead ResourceCodecademy ResourceCodeWars \\\n", "13659 NaN 1.0 1.0 \n", "\n", " ResourceCoursera ResourceCSS ResourceEdX ResourceEgghead \\\n", "13659 1.0 NaN NaN NaN \n", "\n", " ResourceFCC ResourceHackerRank ResourceKA ResourceLynda \\\n", "13659 1.0 NaN NaN NaN \n", "\n", " ResourceMDN ResourceOdinProj ResourceOther ResourcePluralSight \\\n", "13659 NaN NaN NaN NaN \n", "\n", " ResourceSkillcrush ResourceSO ResourceTreehouse ResourceUdacity \\\n", "13659 NaN 1.0 NaN NaN \n", "\n", " ResourceUdemy ResourceW3S SchoolDegree SchoolMajor \\\n", "13659 NaN 1.0 bachelor's degree Finance \n", "\n", " StudentDebtOwe YouTubeCodeCourse YouTubeCodingTrain \\\n", "13659 NaN NaN NaN \n", "\n", " YouTubeCodingTut360 YouTubeComputerphile YouTubeDerekBanas \\\n", "13659 NaN NaN NaN \n", "\n", " YouTubeDevTips YouTubeEngineeredTruth YouTubeFCC \\\n", "13659 NaN NaN 1.0 \n", "\n", " YouTubeFunFunFunction YouTubeGoogleDev YouTubeLearnCode \\\n", "13659 NaN NaN NaN \n", "\n", " YouTubeLevelUpTuts YouTubeMIT YouTubeMozillaHacks YouTubeOther \\\n", "13659 NaN 1.0 NaN NaN \n", "\n", " YouTubeSimplilearn YouTubeTheNewBoston money_per_month \n", "13659 NaN NaN 5000.0 " ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Examine the extreme outliers for Canada\n", "canada_outliers = only_4[\n", " (only_4['CountryLive'] == 'Canada') & \n", " (only_4['money_per_month'] > 4500)]\n", "\n", "canada_outliers" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here, the situation is similar to some of the US respondents — this participant had been programming for no more than two months when he completed the survey. He seems to have paid a large sum of money in the beginning to enroll in a bootcamp, and then he probably didn't spend anything for the next couple of months after the survey. We'll take the same approach here as for the US and remove this outlier." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "# Remove the extreme outliers for Canada\n", "only_4 = only_4.drop(canada_outliers.index)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's recompute the mean values and generate the final box plots." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "CountryLive\n", "Canada 93.065400\n", "India 65.758763\n", "United Kingdom 45.534443\n", "United States of America 142.654608\n", "Name: money_per_month, dtype: float64" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Recompute mean sum of money spent by students each month\n", "only_4.groupby('CountryLive').mean()['money_per_month']" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Visualize the distributions again\n", "sns.boxplot(y = 'money_per_month', x = 'CountryLive',\n", " data = only_4)\n", "plt.title('Money Spent Per Month Per Country\\n(Distributions)',\n", " fontsize = 16)\n", "plt.ylabel('Money per month (US dollars)')\n", "plt.xlabel('Country')\n", "plt.xticks(range(4), ['US', 'UK', 'India', 'Canada']) # avoids tick labels overlap\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Choosing the Two Best Markets to Advertise in\n", "\n", "Obviously, one country we should advertise in is the US. Lots of new coders live there and they are willing to pay a good amount of money each month (roughly \\$143).\n", "\n", "We sell subscriptions at a price of \\$59 per month, and Canada seems to be the best second choice because people there are willing to pay roughly \\$93 per month, compared to India (\\$66) and the United Kingdom (\\$45).\n", "\n", "The data suggests strongly that we shouldn't advertise in the UK, but let's take a second look at India before deciding to choose Canada as our second best choice:\n", "\n", "* $59 doesn't seem like an expensive sum for people in India since they spend on average \\$66 each month.\n", "* We have almost twice as more potential customers in India than we have in Canada:" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "United States of America 74.967908\n", "India 11.732991\n", "United Kingdom 7.163030\n", "Canada 6.136072\n", "Name: CountryLive, dtype: float64" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Frequency table for the 'CountryLive' column\n", "only_4['CountryLive'].value_counts(normalize = True) * 100" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So it's not crystal clear what to choose between Canada and India. Although it seems more tempting to choose Canada, there are good chances that India might actually be a better choice because of the large number of potential customers.\n", "\n", "At this point, it seems that we have several options:\n", "\n", "1. Advertise in the US, India, and Canada by splitting the advertisement budget in various combinations:\n", " - 60% for the US, 25% for India, 15% for Canada.\n", " - 50% for the US, 30% for India, 20% for Canada; etc.\n", "\n", "2. Advertise only in the US and India, or the US and Canada. Again, it makes sense to split the advertisement budget unequally. For instance:\n", " - 70% for the US, and 30% for India.\n", " - 65% for the US, and 35% for Canada; etc.\n", "\n", "3. Advertise only in the US.\n", "\n", "At this point, it's probably best to send our analysis to the marketing team and let them use their domain knowledge to decide. They might want to do some extra surveys in India and Canada and then get back to us for analyzing the new survey data.\n", "\n", "# Conclusion\n", "\n", "In this project, we analyzed survey data from new coders to find the best two markets to advertise in. The only solid conclusion we reached is that the US would be a good market to advertise in.\n", "\n", "For the second best market, it wasn't clear-cut what to choose between India and Canada. We decided to send the results to the marketing team so they can use their domain knowledge to take the best decision." ] } ], "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.6.4" } }, "nbformat": 4, "nbformat_minor": 2 }