From e6ddfb5522b88ecc16f1144b0d38d6fced84e551 Mon Sep 17 00:00:00 2001 From: Aida803 Date: Tue, 21 Oct 2025 23:37:19 +0200 Subject: [PATCH 1/4] Initial Aida commit --- LICENSE | 21 +++++ final_project_data_science.ipynb | 142 +++++++++++++++++++++++++++++++ 2 files changed, 163 insertions(+) create mode 100644 LICENSE create mode 100644 final_project_data_science.ipynb diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..a26d4db --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 Prince Amankwah + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/final_project_data_science.ipynb b/final_project_data_science.ipynb new file mode 100644 index 0000000..cdb78b9 --- /dev/null +++ b/final_project_data_science.ipynb @@ -0,0 +1,142 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Intro-py Data Analysis\n", + "\n", + "As a fresh data scientist at the company StackOverflow, you have been tasked with analyzing this year's developer survey results to find interesting facts and directions in the software development community. Once you're done, your colleagues at the design department will create a report from your analysis results and publish it online. They can't wait to see what interesting facts you uncover!\n", + "\n", + "## Data Acquisition and Data Understanding\n", + "\n", + "#### 1. Get the data from https://insights.stackoverflow.com/survey and unzip it.\n", + "\n", + "#### 2. Load the survey data into a pandas dataframe and display it.\n", + "\n", + "#### 3. How many rows does the table have and which columns are present?\n", + "Hint: `df.columns` shows a list of columns\n", + "\n", + "#### 4. Load the *schema* table into a pandas dataframe and display it. -> Skim the column descriptions to get familiar with the data.\n", + "\n", + "## Research Questions\n", + "\n", + "#### 5. What values are present in the column `MainBranch` and how often are these values present. \n", + "Hint: you can select a column via `df[]` and columns (called 'Series' in pandas) have a method called `value_counts`.\n", + "\n", + "#### 6. How high is the percentage of professional developers, who also code as a hobby? \n", + "Use the columns `MainBranch` and `Hobbyist` to answer this. Hint: You can filter a dataframe by a column's values via `filtered_df = df[df[] == ]`.\n", + "\n", + "#### 7. Plot the age distribution of German developers. \n", + "Hint: a violin plot (https://plotly.com/python/violin/) might be a good fit.\n", + "\n", + "#### 8. What are the 3 most popular databases ? \n", + "\n", + "* 8.1 Check out the column `DatabaseWorkedWith`. Look at the format of the values.\n", + "* 8.2 The format is complicated to work with (semicolon-separated-values). To help with this, you can use the helper function `expand_column`. Try out the function and understand what it does. \n", + "* 8.3 After expanding the column `DatabaseWorkedWith`, you can filter the columns of the dataframe, to only contain columns from the expansion. Hint: you can filter the columns of a dataframe like this: `filtered_df = df[]` (example: `filtered_df = df[['col_a', 'col_b']]`). \n", + "* 8.4 To finish the task, you might want to look at the dataframe methods `sum` and `sort_values`. \n", + "\n", + "#### 9. Is there a difference between programming languages when it comes to job satisfaction?\n", + "\n", + "In this task we want to calculate the mean job satisfaction for each programming language.\n", + "\n", + "* 9.1 Check out the column `LanguageWorkedWith` and expand it as you did in question 8.\n", + "* 9.2 Check out the column `JobSat`: What values does it have?\n", + "* 9.3 Map the values of the column `JobSat` to numerical values from 1 to 5 (with 5 being the highest job satisfaction).\n", + " * 9.3.1 Write a function that gets a job satisfaction string as its input and returns the according number.\n", + " * 9.3.2 Create a new column `JobSatNum` in the dataframe, which contains the numerical job satisfaction value. Hint: `df['JobSatNum'] = df['JobSat'].map()`\n", + "* 9.4 Print the mean numerical job satisfaction for each programming language. Hint: Loop through the column names of the programming language columns you created in 9.1. For each programming language, filter the dataframe, to only contain the rows where the programming language column has the value `True`. From the filtered dataframe, select the column containing the numerical job satisfaction value and compute the mean (pandas Series have a method `mean`).\n", + "\n", + "#### 10. Bonus: Think of additional interesting statistical questions yourself and find the answers.\n", + "\n", + "\n", + "# 🎉🎉🎉 Have fun! 🎉🎉🎉" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# This function will come in handy later (question 8 and 9) 😉\n", + "\n", + "\n", + "def expand_column(df, col):\n", + " \"Expand a column with semicolon-separated-values into multiple boolean columns, one for each value in the original column.\"\n", + "\n", + " df = df.copy()\n", + "\n", + " if col not in df.columns:\n", + " raise ValueError(f\"Column {col} not found in DataFrame\")\n", + "\n", + " values = set()\n", + " for row in df[col]:\n", + " if not pd.isna(row):\n", + " for value in row.split(\";\"):\n", + " values.add(value)\n", + "\n", + " for value in values:\n", + " df[f\"{col}_{value}\"] = df[col].map(\n", + " lambda v: value in v.split(\";\") if not pd.isna(v) else False\n", + " )\n", + "\n", + " return df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "\n", + "# if missing: pip install plotly\n", + "import plotly.express as px \n", + "\n", + "# increase the number of rows that are shown\n", + "pd.set_option(\"display.max_rows\", 100) \n", + "\n", + "# increase the number of columns that are shown\n", + "pd.set_option(\n", + " \"display.max_columns\", 100\n", + ") \n", + "\n", + "# don't truncate columns\n", + "pd.set_option(\"display.max_colwidth\", None) " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df = pd.read_csv(\"developer_survey_2020/survey_results_public.csv\")" + ] + } + ], + "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.8.8" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} From ec41c3e2f4aecf7fa70af50a18cb3fbc8ba025cd Mon Sep 17 00:00:00 2001 From: Aida803 Date: Fri, 24 Oct 2025 21:05:10 +0200 Subject: [PATCH 2/4] Insight --- .DS_Store | Bin 0 -> 6148 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..23a6e87ab3fb944402b01fde3fb12c1efa2d606e GIT binary patch literal 6148 zcmeHKF;2r!47F*7NGu&;`zJu^&hV+i3CaObsZ@|!r9;`XAyH^i}s==^mx6Pb!g4L6iGTgGO2^O0SYNCi~8$7VfSJhj{1sPcTkxRu<< zT3%#7A>P60MLHp-Ei%*1Ta|um Date: Fri, 24 Oct 2025 21:12:14 +0200 Subject: [PATCH 3/4] added insight --- final_project_data_science.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/final_project_data_science.ipynb b/final_project_data_science.ipynb index cdb78b9..280bb8c 100644 --- a/final_project_data_science.ipynb +++ b/final_project_data_science.ipynb @@ -8,7 +8,7 @@ "\n", "As a fresh data scientist at the company StackOverflow, you have been tasked with analyzing this year's developer survey results to find interesting facts and directions in the software development community. Once you're done, your colleagues at the design department will create a report from your analysis results and publish it online. They can't wait to see what interesting facts you uncover!\n", "\n", - "## Data Acquisition and Data Understanding\n", + "## Data Acquisition and Data Understanding(Insight)\n", "\n", "#### 1. Get the data from https://insights.stackoverflow.com/survey and unzip it.\n", "\n", From b5e0233e412a37448e45e0bf421d89a289bacb75 Mon Sep 17 00:00:00 2001 From: Aida803 Date: Fri, 7 Nov 2025 21:27:30 +0100 Subject: [PATCH 4/4] update on survey --- .gitignore | 1 + final_project_data_science.ipynb | 1033 +++++++++++++++++++++++++++++- 2 files changed, 1017 insertions(+), 17 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8d91a58 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +survey_results_public.csv diff --git a/final_project_data_science.ipynb b/final_project_data_science.ipynb index 280bb8c..ce1faf3 100644 --- a/final_project_data_science.ipynb +++ b/final_project_data_science.ipynb @@ -87,40 +87,1039 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "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", + "
ResponseIdMainBranchAgeEdLevelEmploymentEmploymentAddlWorkExpLearnCodeChooseLearnCodeLearnCodeAI...AIAgentOrchestrationAIAgentOrchWriteAIAgentObserveSecureAIAgentObsWriteAIAgentExternalAIAgentExtWriteAIHumanAIOpenConvertedCompYearlyJobSat
01I am a developer by profession25-34 years oldMaster’s degree (M.A., M.S., M.Eng., MBA, etc.)EmployedCaring for dependents (children, elderly, etc.)8.0Yes, I am not new to coding but am learning ne...Online Courses or Certification (includes all ...Yes, I learned how to use AI-enabled tools for......Vertex AINaNNaNNaNChatGPTNaNWhen I don’t trust AI’s answersTroubleshooting, profiling, debugging61256.010.0
12I am a developer by profession25-34 years oldAssociate degree (A.A., A.S., etc.)EmployedNaN2.0Yes, I am not new to coding but am learning ne...Online Courses or Certification (includes all ...Yes, I learned how to use AI-enabled tools for......NaNNaNNaNNaNNaNNaNWhen I don’t trust AI’s answers;When I want to...All skills. AI is a flop.104413.09.0
23I am a developer by profession35-44 years oldBachelor’s degree (B.A., B.S., B.Eng., etc.)Independent contractor, freelancer, or self-em...None of the above10.0Yes, I am not new to coding but am learning ne...Online Courses or Certification (includes all ...Yes, I learned how to use AI-enabled tools for......NaNNaNNaNNaNChatGPT;Claude Code;GitHub Copilot;Google GeminiNaNWhen I don’t trust AI’s answers;When I want to...Understand how things actually work, problem s...53061.08.0
34I am a developer by profession35-44 years oldBachelor’s degree (B.A., B.S., B.Eng., etc.)EmployedNone of the above4.0Yes, I am not new to coding but am learning ne...Other online resources (e.g. standard search, ...Yes, I learned how to use AI-enabled tools for......NaNNaNNaNNaNChatGPT;Claude CodeNaNWhen I don’t trust AI’s answers;When I want to...NaN36197.06.0
45I am a developer by profession35-44 years oldMaster’s degree (M.A., M.S., M.Eng., MBA, etc.)Independent contractor, freelancer, or self-em...Caring for dependents (children, elderly, etc.)21.0No, I am not new to coding and did not learn n...NaNYes, I learned how to use AI-enabled tools for......NaNNaNNaNNaNNaNNaNWhen I don’t trust AI’s answerscritical thinking, the skill to define the tas...60000.07.0
\n", + "

5 rows × 170 columns

\n", + "
" + ], + "text/plain": [ + " ResponseId MainBranch Age \\\n", + "0 1 I am a developer by profession 25-34 years old \n", + "1 2 I am a developer by profession 25-34 years old \n", + "2 3 I am a developer by profession 35-44 years old \n", + "3 4 I am a developer by profession 35-44 years old \n", + "4 5 I am a developer by profession 35-44 years old \n", + "\n", + " EdLevel \\\n", + "0 Master’s degree (M.A., M.S., M.Eng., MBA, etc.) \n", + "1 Associate degree (A.A., A.S., etc.) \n", + "2 Bachelor’s degree (B.A., B.S., B.Eng., etc.) \n", + "3 Bachelor’s degree (B.A., B.S., B.Eng., etc.) \n", + "4 Master’s degree (M.A., M.S., M.Eng., MBA, etc.) \n", + "\n", + " Employment \\\n", + "0 Employed \n", + "1 Employed \n", + "2 Independent contractor, freelancer, or self-em... \n", + "3 Employed \n", + "4 Independent contractor, freelancer, or self-em... \n", + "\n", + " EmploymentAddl WorkExp \\\n", + "0 Caring for dependents (children, elderly, etc.) 8.0 \n", + "1 NaN 2.0 \n", + "2 None of the above 10.0 \n", + "3 None of the above 4.0 \n", + "4 Caring for dependents (children, elderly, etc.) 21.0 \n", + "\n", + " LearnCodeChoose \\\n", + "0 Yes, I am not new to coding but am learning ne... \n", + "1 Yes, I am not new to coding but am learning ne... \n", + "2 Yes, I am not new to coding but am learning ne... \n", + "3 Yes, I am not new to coding but am learning ne... \n", + "4 No, I am not new to coding and did not learn n... \n", + "\n", + " LearnCode \\\n", + "0 Online Courses or Certification (includes all ... \n", + "1 Online Courses or Certification (includes all ... \n", + "2 Online Courses or Certification (includes all ... \n", + "3 Other online resources (e.g. standard search, ... \n", + "4 NaN \n", + "\n", + " LearnCodeAI ... \\\n", + "0 Yes, I learned how to use AI-enabled tools for... ... \n", + "1 Yes, I learned how to use AI-enabled tools for... ... \n", + "2 Yes, I learned how to use AI-enabled tools for... ... \n", + "3 Yes, I learned how to use AI-enabled tools for... ... \n", + "4 Yes, I learned how to use AI-enabled tools for... ... \n", + "\n", + " AIAgentOrchestration AIAgentOrchWrite AIAgentObserveSecure AIAgentObsWrite \\\n", + "0 Vertex AI 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", + " AIAgentExternal AIAgentExtWrite \\\n", + "0 ChatGPT NaN \n", + "1 NaN NaN \n", + "2 ChatGPT;Claude Code;GitHub Copilot;Google Gemini NaN \n", + "3 ChatGPT;Claude Code NaN \n", + "4 NaN NaN \n", + "\n", + " AIHuman \\\n", + "0 When I don’t trust AI’s answers \n", + "1 When I don’t trust AI’s answers;When I want to... \n", + "2 When I don’t trust AI’s answers;When I want to... \n", + "3 When I don’t trust AI’s answers;When I want to... \n", + "4 When I don’t trust AI’s answers \n", + "\n", + " AIOpen ConvertedCompYearly \\\n", + "0 Troubleshooting, profiling, debugging 61256.0 \n", + "1 All skills. AI is a flop. 104413.0 \n", + "2 Understand how things actually work, problem s... 53061.0 \n", + "3 NaN 36197.0 \n", + "4 critical thinking, the skill to define the tas... 60000.0 \n", + "\n", + " JobSat \n", + "0 10.0 \n", + "1 9.0 \n", + "2 8.0 \n", + "3 6.0 \n", + "4 7.0 \n", + "\n", + "[5 rows x 170 columns]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#Load the survey data into a pandas dataframe and display it.\n", "\n", - "# if missing: pip install plotly\n", - "import plotly.express as px \n", - "\n", - "# increase the number of rows that are shown\n", - "pd.set_option(\"display.max_rows\", 100) \n", + "#### 3. How many rows does the table have and which columns are present?\n", + "#Hint: `df.columns` shows a list of columns\n", "\n", - "# increase the number of columns that are shown\n", - "pd.set_option(\n", - " \"display.max_columns\", 100\n", - ") \n", + "#### 4. Load the *schema* table into a pandas dataframe and display it. -> Skim the column descriptions to get familiar with the data.\n", "\n", - "# don't truncate columns\n", - "pd.set_option(\"display.max_colwidth\", None) " + "df = pd.read_csv(\"survey_results_public.csv\")\n", + "# to display the data using df.head default first 5 rows if not include number of rows into braket\n", + "df.head()" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, - "outputs": [], + "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", + "
ResponseIdMainBranchAgeEdLevelEmploymentEmploymentAddlWorkExpLearnCodeChooseLearnCodeLearnCodeAI...AIAgentOrchestrationAIAgentOrchWriteAIAgentObserveSecureAIAgentObsWriteAIAgentExternalAIAgentExtWriteAIHumanAIOpenConvertedCompYearlyJobSat
4911849119I am a developer by profession25-34 years oldBachelor’s degree (B.A., B.S., B.Eng., etc.)EmployedNaN9.0Yes, I am not new to coding but am learning ne...Online Courses or Certification (includes all ...Yes, I learned how to use AI-enabled tools req......NaNNaNNaNNaNNaNNaNNaNNaNNaN8.0
4911949120I am a developer by profession35-44 years oldBachelor’s degree (B.A., B.S., B.Eng., etc.)EmployedCaring for dependents (children, elderly, etc.)13.0No, I am not new to coding and did not learn n...NaNYes, I learned how to use AI-enabled tools req......NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
4912049121I am a developer by profession25-34 years oldSecondary school (e.g. American high school, G...EmployedNaN2.0Yes, I am not new to coding but am learning ne...Other online resources (e.g. standard search, ...No, I didn't spend time learning in the past year...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
4912149122I am a developer by profession25-34 years oldAssociate degree (A.A., A.S., etc.)EmployedNone of the above;Engaged in paid work (20-29 ...10.0No, I am not new to coding and did not learn n...NaNYes, I learned how to use AI-enabled tools for......NaNNaNNaNNaNNaNNaNNaNNaNNaN7.0
4912249123I am a developer by profession25-34 years oldSome college/university study without earning ...EmployedNone of the above10.0No, I am not new to coding and did not learn n...NaNNo, I learned something that was not related t......NaNNaNNaNNaNNaNNaNNaNNaNNaN8.0
\n", + "

5 rows × 170 columns

\n", + "
" + ], + "text/plain": [ + " ResponseId MainBranch Age \\\n", + "49118 49119 I am a developer by profession 25-34 years old \n", + "49119 49120 I am a developer by profession 35-44 years old \n", + "49120 49121 I am a developer by profession 25-34 years old \n", + "49121 49122 I am a developer by profession 25-34 years old \n", + "49122 49123 I am a developer by profession 25-34 years old \n", + "\n", + " EdLevel Employment \\\n", + "49118 Bachelor’s degree (B.A., B.S., B.Eng., etc.) Employed \n", + "49119 Bachelor’s degree (B.A., B.S., B.Eng., etc.) Employed \n", + "49120 Secondary school (e.g. American high school, G... Employed \n", + "49121 Associate degree (A.A., A.S., etc.) Employed \n", + "49122 Some college/university study without earning ... Employed \n", + "\n", + " EmploymentAddl WorkExp \\\n", + "49118 NaN 9.0 \n", + "49119 Caring for dependents (children, elderly, etc.) 13.0 \n", + "49120 NaN 2.0 \n", + "49121 None of the above;Engaged in paid work (20-29 ... 10.0 \n", + "49122 None of the above 10.0 \n", + "\n", + " LearnCodeChoose \\\n", + "49118 Yes, I am not new to coding but am learning ne... \n", + "49119 No, I am not new to coding and did not learn n... \n", + "49120 Yes, I am not new to coding but am learning ne... \n", + "49121 No, I am not new to coding and did not learn n... \n", + "49122 No, I am not new to coding and did not learn n... \n", + "\n", + " LearnCode \\\n", + "49118 Online Courses or Certification (includes all ... \n", + "49119 NaN \n", + "49120 Other online resources (e.g. standard search, ... \n", + "49121 NaN \n", + "49122 NaN \n", + "\n", + " LearnCodeAI ... \\\n", + "49118 Yes, I learned how to use AI-enabled tools req... ... \n", + "49119 Yes, I learned how to use AI-enabled tools req... ... \n", + "49120 No, I didn't spend time learning in the past year ... \n", + "49121 Yes, I learned how to use AI-enabled tools for... ... \n", + "49122 No, I learned something that was not related t... ... \n", + "\n", + " AIAgentOrchestration AIAgentOrchWrite AIAgentObserveSecure \\\n", + "49118 NaN NaN NaN \n", + "49119 NaN NaN NaN \n", + "49120 NaN NaN NaN \n", + "49121 NaN NaN NaN \n", + "49122 NaN NaN NaN \n", + "\n", + " AIAgentObsWrite AIAgentExternal AIAgentExtWrite AIHuman AIOpen \\\n", + "49118 NaN NaN NaN NaN NaN \n", + "49119 NaN NaN NaN NaN NaN \n", + "49120 NaN NaN NaN NaN NaN \n", + "49121 NaN NaN NaN NaN NaN \n", + "49122 NaN NaN NaN NaN NaN \n", + "\n", + " ConvertedCompYearly JobSat \n", + "49118 NaN 8.0 \n", + "49119 NaN NaN \n", + "49120 NaN NaN \n", + "49121 NaN 7.0 \n", + "49122 NaN 8.0 \n", + "\n", + "[5 rows x 170 columns]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#to display the last 5 rows use df.tail()\n", + "df.tail()" + ] + }, + { + "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", + "
ResponseIdMainBranchAgeEdLevelEmploymentEmploymentAddlWorkExpLearnCodeChooseLearnCodeLearnCodeAI...AIAgentOrchestrationAIAgentOrchWriteAIAgentObserveSecureAIAgentObsWriteAIAgentExternalAIAgentExtWriteAIHumanAIOpenConvertedCompYearlyJobSat
01I am a developer by profession25-34 years oldMaster’s degree (M.A., M.S., M.Eng., MBA, etc.)EmployedCaring for dependents (children, elderly, etc.)8.0Yes, I am not new to coding but am learning ne...Online Courses or Certification (includes all ...Yes, I learned how to use AI-enabled tools for......Vertex AINaNNaNNaNChatGPTNaNWhen I don’t trust AI’s answersTroubleshooting, profiling, debugging61256.010.0
12I am a developer by profession25-34 years oldAssociate degree (A.A., A.S., etc.)EmployedNaN2.0Yes, I am not new to coding but am learning ne...Online Courses or Certification (includes all ...Yes, I learned how to use AI-enabled tools for......NaNNaNNaNNaNNaNNaNWhen I don’t trust AI’s answers;When I want to...All skills. AI is a flop.104413.09.0
23I am a developer by profession35-44 years oldBachelor’s degree (B.A., B.S., B.Eng., etc.)Independent contractor, freelancer, or self-em...None of the above10.0Yes, I am not new to coding but am learning ne...Online Courses or Certification (includes all ...Yes, I learned how to use AI-enabled tools for......NaNNaNNaNNaNChatGPT;Claude Code;GitHub Copilot;Google GeminiNaNWhen I don’t trust AI’s answers;When I want to...Understand how things actually work, problem s...53061.08.0
34I am a developer by profession35-44 years oldBachelor’s degree (B.A., B.S., B.Eng., etc.)EmployedNone of the above4.0Yes, I am not new to coding but am learning ne...Other online resources (e.g. standard search, ...Yes, I learned how to use AI-enabled tools for......NaNNaNNaNNaNChatGPT;Claude CodeNaNWhen I don’t trust AI’s answers;When I want to...NaN36197.06.0
45I am a developer by profession35-44 years oldMaster’s degree (M.A., M.S., M.Eng., MBA, etc.)Independent contractor, freelancer, or self-em...Caring for dependents (children, elderly, etc.)21.0No, I am not new to coding and did not learn n...NaNYes, I learned how to use AI-enabled tools for......NaNNaNNaNNaNNaNNaNWhen I don’t trust AI’s answerscritical thinking, the skill to define the tas...60000.07.0
..................................................................
4911849119I am a developer by profession25-34 years oldBachelor’s degree (B.A., B.S., B.Eng., etc.)EmployedNaN9.0Yes, I am not new to coding but am learning ne...Online Courses or Certification (includes all ...Yes, I learned how to use AI-enabled tools req......NaNNaNNaNNaNNaNNaNNaNNaNNaN8.0
4911949120I am a developer by profession35-44 years oldBachelor’s degree (B.A., B.S., B.Eng., etc.)EmployedCaring for dependents (children, elderly, etc.)13.0No, I am not new to coding and did not learn n...NaNYes, I learned how to use AI-enabled tools req......NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
4912049121I am a developer by profession25-34 years oldSecondary school (e.g. American high school, G...EmployedNaN2.0Yes, I am not new to coding but am learning ne...Other online resources (e.g. standard search, ...No, I didn't spend time learning in the past year...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
4912149122I am a developer by profession25-34 years oldAssociate degree (A.A., A.S., etc.)EmployedNone of the above;Engaged in paid work (20-29 ...10.0No, I am not new to coding and did not learn n...NaNYes, I learned how to use AI-enabled tools for......NaNNaNNaNNaNNaNNaNNaNNaNNaN7.0
4912249123I am a developer by profession25-34 years oldSome college/university study without earning ...EmployedNone of the above10.0No, I am not new to coding and did not learn n...NaNNo, I learned something that was not related t......NaNNaNNaNNaNNaNNaNNaNNaNNaN8.0
\n", + "

49123 rows × 170 columns

\n", + "
" + ], + "text/plain": [ + " ResponseId MainBranch Age \\\n", + "0 1 I am a developer by profession 25-34 years old \n", + "1 2 I am a developer by profession 25-34 years old \n", + "2 3 I am a developer by profession 35-44 years old \n", + "3 4 I am a developer by profession 35-44 years old \n", + "4 5 I am a developer by profession 35-44 years old \n", + "... ... ... ... \n", + "49118 49119 I am a developer by profession 25-34 years old \n", + "49119 49120 I am a developer by profession 35-44 years old \n", + "49120 49121 I am a developer by profession 25-34 years old \n", + "49121 49122 I am a developer by profession 25-34 years old \n", + "49122 49123 I am a developer by profession 25-34 years old \n", + "\n", + " EdLevel \\\n", + "0 Master’s degree (M.A., M.S., M.Eng., MBA, etc.) \n", + "1 Associate degree (A.A., A.S., etc.) \n", + "2 Bachelor’s degree (B.A., B.S., B.Eng., etc.) \n", + "3 Bachelor’s degree (B.A., B.S., B.Eng., etc.) \n", + "4 Master’s degree (M.A., M.S., M.Eng., MBA, etc.) \n", + "... ... \n", + "49118 Bachelor’s degree (B.A., B.S., B.Eng., etc.) \n", + "49119 Bachelor’s degree (B.A., B.S., B.Eng., etc.) \n", + "49120 Secondary school (e.g. American high school, G... \n", + "49121 Associate degree (A.A., A.S., etc.) \n", + "49122 Some college/university study without earning ... \n", + "\n", + " Employment \\\n", + "0 Employed \n", + "1 Employed \n", + "2 Independent contractor, freelancer, or self-em... \n", + "3 Employed \n", + "4 Independent contractor, freelancer, or self-em... \n", + "... ... \n", + "49118 Employed \n", + "49119 Employed \n", + "49120 Employed \n", + "49121 Employed \n", + "49122 Employed \n", + "\n", + " EmploymentAddl WorkExp \\\n", + "0 Caring for dependents (children, elderly, etc.) 8.0 \n", + "1 NaN 2.0 \n", + "2 None of the above 10.0 \n", + "3 None of the above 4.0 \n", + "4 Caring for dependents (children, elderly, etc.) 21.0 \n", + "... ... ... \n", + "49118 NaN 9.0 \n", + "49119 Caring for dependents (children, elderly, etc.) 13.0 \n", + "49120 NaN 2.0 \n", + "49121 None of the above;Engaged in paid work (20-29 ... 10.0 \n", + "49122 None of the above 10.0 \n", + "\n", + " LearnCodeChoose \\\n", + "0 Yes, I am not new to coding but am learning ne... \n", + "1 Yes, I am not new to coding but am learning ne... \n", + "2 Yes, I am not new to coding but am learning ne... \n", + "3 Yes, I am not new to coding but am learning ne... \n", + "4 No, I am not new to coding and did not learn n... \n", + "... ... \n", + "49118 Yes, I am not new to coding but am learning ne... \n", + "49119 No, I am not new to coding and did not learn n... \n", + "49120 Yes, I am not new to coding but am learning ne... \n", + "49121 No, I am not new to coding and did not learn n... \n", + "49122 No, I am not new to coding and did not learn n... \n", + "\n", + " LearnCode \\\n", + "0 Online Courses or Certification (includes all ... \n", + "1 Online Courses or Certification (includes all ... \n", + "2 Online Courses or Certification (includes all ... \n", + "3 Other online resources (e.g. standard search, ... \n", + "4 NaN \n", + "... ... \n", + "49118 Online Courses or Certification (includes all ... \n", + "49119 NaN \n", + "49120 Other online resources (e.g. standard search, ... \n", + "49121 NaN \n", + "49122 NaN \n", + "\n", + " LearnCodeAI ... \\\n", + "0 Yes, I learned how to use AI-enabled tools for... ... \n", + "1 Yes, I learned how to use AI-enabled tools for... ... \n", + "2 Yes, I learned how to use AI-enabled tools for... ... \n", + "3 Yes, I learned how to use AI-enabled tools for... ... \n", + "4 Yes, I learned how to use AI-enabled tools for... ... \n", + "... ... ... \n", + "49118 Yes, I learned how to use AI-enabled tools req... ... \n", + "49119 Yes, I learned how to use AI-enabled tools req... ... \n", + "49120 No, I didn't spend time learning in the past year ... \n", + "49121 Yes, I learned how to use AI-enabled tools for... ... \n", + "49122 No, I learned something that was not related t... ... \n", + "\n", + " AIAgentOrchestration AIAgentOrchWrite AIAgentObserveSecure \\\n", + "0 Vertex AI NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + "... ... ... ... \n", + "49118 NaN NaN NaN \n", + "49119 NaN NaN NaN \n", + "49120 NaN NaN NaN \n", + "49121 NaN NaN NaN \n", + "49122 NaN NaN NaN \n", + "\n", + " AIAgentObsWrite AIAgentExternal \\\n", + "0 NaN ChatGPT \n", + "1 NaN NaN \n", + "2 NaN ChatGPT;Claude Code;GitHub Copilot;Google Gemini \n", + "3 NaN ChatGPT;Claude Code \n", + "4 NaN NaN \n", + "... ... ... \n", + "49118 NaN NaN \n", + "49119 NaN NaN \n", + "49120 NaN NaN \n", + "49121 NaN NaN \n", + "49122 NaN NaN \n", + "\n", + " AIAgentExtWrite AIHuman \\\n", + "0 NaN When I don’t trust AI’s answers \n", + "1 NaN When I don’t trust AI’s answers;When I want to... \n", + "2 NaN When I don’t trust AI’s answers;When I want to... \n", + "3 NaN When I don’t trust AI’s answers;When I want to... \n", + "4 NaN When I don’t trust AI’s answers \n", + "... ... ... \n", + "49118 NaN NaN \n", + "49119 NaN NaN \n", + "49120 NaN NaN \n", + "49121 NaN NaN \n", + "49122 NaN NaN \n", + "\n", + " AIOpen ConvertedCompYearly \\\n", + "0 Troubleshooting, profiling, debugging 61256.0 \n", + "1 All skills. AI is a flop. 104413.0 \n", + "2 Understand how things actually work, problem s... 53061.0 \n", + "3 NaN 36197.0 \n", + "4 critical thinking, the skill to define the tas... 60000.0 \n", + "... ... ... \n", + "49118 NaN NaN \n", + "49119 NaN NaN \n", + "49120 NaN NaN \n", + "49121 NaN NaN \n", + "49122 NaN NaN \n", + "\n", + " JobSat \n", + "0 10.0 \n", + "1 9.0 \n", + "2 8.0 \n", + "3 6.0 \n", + "4 7.0 \n", + "... ... \n", + "49118 8.0 \n", + "49119 NaN \n", + "49120 NaN \n", + "49121 7.0 \n", + "49122 8.0 \n", + "\n", + "[49123 rows x 170 columns]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "df = pd.read_csv(\"developer_survey_2020/survey_results_public.csv\")" + "df" ] } ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "base", "language": "python", "name": "python3" }, @@ -134,7 +1133,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.8" + "version": "3.12.4" } }, "nbformat": 4,