diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..23a6e87 Binary files /dev/null and b/.DS_Store differ 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 cdb78b9..ce1faf3 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", @@ -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", + " | ResponseId | \n", + "MainBranch | \n", + "Age | \n", + "EdLevel | \n", + "Employment | \n", + "EmploymentAddl | \n", + "WorkExp | \n", + "LearnCodeChoose | \n", + "LearnCode | \n", + "LearnCodeAI | \n", + "... | \n", + "AIAgentOrchestration | \n", + "AIAgentOrchWrite | \n", + "AIAgentObserveSecure | \n", + "AIAgentObsWrite | \n", + "AIAgentExternal | \n", + "AIAgentExtWrite | \n", + "AIHuman | \n", + "AIOpen | \n", + "ConvertedCompYearly | \n", + "JobSat | \n", + "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", + "1 | \n", + "I am a developer by profession | \n", + "25-34 years old | \n", + "Master’s degree (M.A., M.S., M.Eng., MBA, etc.) | \n", + "Employed | \n", + "Caring for dependents (children, elderly, etc.) | \n", + "8.0 | \n", + "Yes, I am not new to coding but am learning ne... | \n", + "Online Courses or Certification (includes all ... | \n", + "Yes, I learned how to use AI-enabled tools for... | \n", + "... | \n", + "Vertex AI | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "ChatGPT | \n", + "NaN | \n", + "When I don’t trust AI’s answers | \n", + "Troubleshooting, profiling, debugging | \n", + "61256.0 | \n", + "10.0 | \n", + "
| 1 | \n", + "2 | \n", + "I am a developer by profession | \n", + "25-34 years old | \n", + "Associate degree (A.A., A.S., etc.) | \n", + "Employed | \n", + "NaN | \n", + "2.0 | \n", + "Yes, I am not new to coding but am learning ne... | \n", + "Online Courses or Certification (includes all ... | \n", + "Yes, I learned how to use AI-enabled tools for... | \n", + "... | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "When I don’t trust AI’s answers;When I want to... | \n", + "All skills. AI is a flop. | \n", + "104413.0 | \n", + "9.0 | \n", + "
| 2 | \n", + "3 | \n", + "I am a developer by profession | \n", + "35-44 years old | \n", + "Bachelor’s degree (B.A., B.S., B.Eng., etc.) | \n", + "Independent contractor, freelancer, or self-em... | \n", + "None of the above | \n", + "10.0 | \n", + "Yes, I am not new to coding but am learning ne... | \n", + "Online Courses or Certification (includes all ... | \n", + "Yes, I learned how to use AI-enabled tools for... | \n", + "... | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "ChatGPT;Claude Code;GitHub Copilot;Google Gemini | \n", + "NaN | \n", + "When I don’t trust AI’s answers;When I want to... | \n", + "Understand how things actually work, problem s... | \n", + "53061.0 | \n", + "8.0 | \n", + "
| 3 | \n", + "4 | \n", + "I am a developer by profession | \n", + "35-44 years old | \n", + "Bachelor’s degree (B.A., B.S., B.Eng., etc.) | \n", + "Employed | \n", + "None of the above | \n", + "4.0 | \n", + "Yes, I am not new to coding but am learning ne... | \n", + "Other online resources (e.g. standard search, ... | \n", + "Yes, I learned how to use AI-enabled tools for... | \n", + "... | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "ChatGPT;Claude Code | \n", + "NaN | \n", + "When I don’t trust AI’s answers;When I want to... | \n", + "NaN | \n", + "36197.0 | \n", + "6.0 | \n", + "
| 4 | \n", + "5 | \n", + "I am a developer by profession | \n", + "35-44 years old | \n", + "Master’s degree (M.A., M.S., M.Eng., MBA, etc.) | \n", + "Independent contractor, freelancer, or self-em... | \n", + "Caring for dependents (children, elderly, etc.) | \n", + "21.0 | \n", + "No, I am not new to coding and did not learn n... | \n", + "NaN | \n", + "Yes, I learned how to use AI-enabled tools for... | \n", + "... | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "When I don’t trust AI’s answers | \n", + "critical thinking, the skill to define the tas... | \n", + "60000.0 | \n", + "7.0 | \n", + "
5 rows × 170 columns
\n", + "| \n", + " | ResponseId | \n", + "MainBranch | \n", + "Age | \n", + "EdLevel | \n", + "Employment | \n", + "EmploymentAddl | \n", + "WorkExp | \n", + "LearnCodeChoose | \n", + "LearnCode | \n", + "LearnCodeAI | \n", + "... | \n", + "AIAgentOrchestration | \n", + "AIAgentOrchWrite | \n", + "AIAgentObserveSecure | \n", + "AIAgentObsWrite | \n", + "AIAgentExternal | \n", + "AIAgentExtWrite | \n", + "AIHuman | \n", + "AIOpen | \n", + "ConvertedCompYearly | \n", + "JobSat | \n", + "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 49118 | \n", + "49119 | \n", + "I am a developer by profession | \n", + "25-34 years old | \n", + "Bachelor’s degree (B.A., B.S., B.Eng., etc.) | \n", + "Employed | \n", + "NaN | \n", + "9.0 | \n", + "Yes, I am not new to coding but am learning ne... | \n", + "Online Courses or Certification (includes all ... | \n", + "Yes, I learned how to use AI-enabled tools req... | \n", + "... | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "8.0 | \n", + "
| 49119 | \n", + "49120 | \n", + "I am a developer by profession | \n", + "35-44 years old | \n", + "Bachelor’s degree (B.A., B.S., B.Eng., etc.) | \n", + "Employed | \n", + "Caring for dependents (children, elderly, etc.) | \n", + "13.0 | \n", + "No, I am not new to coding and did not learn n... | \n", + "NaN | \n", + "Yes, I learned how to use AI-enabled tools req... | \n", + "... | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "
| 49120 | \n", + "49121 | \n", + "I am a developer by profession | \n", + "25-34 years old | \n", + "Secondary school (e.g. American high school, G... | \n", + "Employed | \n", + "NaN | \n", + "2.0 | \n", + "Yes, I am not new to coding but am learning ne... | \n", + "Other online resources (e.g. standard search, ... | \n", + "No, I didn't spend time learning in the past year | \n", + "... | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "
| 49121 | \n", + "49122 | \n", + "I am a developer by profession | \n", + "25-34 years old | \n", + "Associate degree (A.A., A.S., etc.) | \n", + "Employed | \n", + "None of the above;Engaged in paid work (20-29 ... | \n", + "10.0 | \n", + "No, I am not new to coding and did not learn n... | \n", + "NaN | \n", + "Yes, I learned how to use AI-enabled tools for... | \n", + "... | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "7.0 | \n", + "
| 49122 | \n", + "49123 | \n", + "I am a developer by profession | \n", + "25-34 years old | \n", + "Some college/university study without earning ... | \n", + "Employed | \n", + "None of the above | \n", + "10.0 | \n", + "No, I am not new to coding and did not learn n... | \n", + "NaN | \n", + "No, I learned something that was not related t... | \n", + "... | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "8.0 | \n", + "
5 rows × 170 columns
\n", + "| \n", + " | ResponseId | \n", + "MainBranch | \n", + "Age | \n", + "EdLevel | \n", + "Employment | \n", + "EmploymentAddl | \n", + "WorkExp | \n", + "LearnCodeChoose | \n", + "LearnCode | \n", + "LearnCodeAI | \n", + "... | \n", + "AIAgentOrchestration | \n", + "AIAgentOrchWrite | \n", + "AIAgentObserveSecure | \n", + "AIAgentObsWrite | \n", + "AIAgentExternal | \n", + "AIAgentExtWrite | \n", + "AIHuman | \n", + "AIOpen | \n", + "ConvertedCompYearly | \n", + "JobSat | \n", + "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", + "1 | \n", + "I am a developer by profession | \n", + "25-34 years old | \n", + "Master’s degree (M.A., M.S., M.Eng., MBA, etc.) | \n", + "Employed | \n", + "Caring for dependents (children, elderly, etc.) | \n", + "8.0 | \n", + "Yes, I am not new to coding but am learning ne... | \n", + "Online Courses or Certification (includes all ... | \n", + "Yes, I learned how to use AI-enabled tools for... | \n", + "... | \n", + "Vertex AI | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "ChatGPT | \n", + "NaN | \n", + "When I don’t trust AI’s answers | \n", + "Troubleshooting, profiling, debugging | \n", + "61256.0 | \n", + "10.0 | \n", + "
| 1 | \n", + "2 | \n", + "I am a developer by profession | \n", + "25-34 years old | \n", + "Associate degree (A.A., A.S., etc.) | \n", + "Employed | \n", + "NaN | \n", + "2.0 | \n", + "Yes, I am not new to coding but am learning ne... | \n", + "Online Courses or Certification (includes all ... | \n", + "Yes, I learned how to use AI-enabled tools for... | \n", + "... | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "When I don’t trust AI’s answers;When I want to... | \n", + "All skills. AI is a flop. | \n", + "104413.0 | \n", + "9.0 | \n", + "
| 2 | \n", + "3 | \n", + "I am a developer by profession | \n", + "35-44 years old | \n", + "Bachelor’s degree (B.A., B.S., B.Eng., etc.) | \n", + "Independent contractor, freelancer, or self-em... | \n", + "None of the above | \n", + "10.0 | \n", + "Yes, I am not new to coding but am learning ne... | \n", + "Online Courses or Certification (includes all ... | \n", + "Yes, I learned how to use AI-enabled tools for... | \n", + "... | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "ChatGPT;Claude Code;GitHub Copilot;Google Gemini | \n", + "NaN | \n", + "When I don’t trust AI’s answers;When I want to... | \n", + "Understand how things actually work, problem s... | \n", + "53061.0 | \n", + "8.0 | \n", + "
| 3 | \n", + "4 | \n", + "I am a developer by profession | \n", + "35-44 years old | \n", + "Bachelor’s degree (B.A., B.S., B.Eng., etc.) | \n", + "Employed | \n", + "None of the above | \n", + "4.0 | \n", + "Yes, I am not new to coding but am learning ne... | \n", + "Other online resources (e.g. standard search, ... | \n", + "Yes, I learned how to use AI-enabled tools for... | \n", + "... | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "ChatGPT;Claude Code | \n", + "NaN | \n", + "When I don’t trust AI’s answers;When I want to... | \n", + "NaN | \n", + "36197.0 | \n", + "6.0 | \n", + "
| 4 | \n", + "5 | \n", + "I am a developer by profession | \n", + "35-44 years old | \n", + "Master’s degree (M.A., M.S., M.Eng., MBA, etc.) | \n", + "Independent contractor, freelancer, or self-em... | \n", + "Caring for dependents (children, elderly, etc.) | \n", + "21.0 | \n", + "No, I am not new to coding and did not learn n... | \n", + "NaN | \n", + "Yes, I learned how to use AI-enabled tools for... | \n", + "... | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "When I don’t trust AI’s answers | \n", + "critical thinking, the skill to define the tas... | \n", + "60000.0 | \n", + "7.0 | \n", + "
| ... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "
| 49118 | \n", + "49119 | \n", + "I am a developer by profession | \n", + "25-34 years old | \n", + "Bachelor’s degree (B.A., B.S., B.Eng., etc.) | \n", + "Employed | \n", + "NaN | \n", + "9.0 | \n", + "Yes, I am not new to coding but am learning ne... | \n", + "Online Courses or Certification (includes all ... | \n", + "Yes, I learned how to use AI-enabled tools req... | \n", + "... | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "8.0 | \n", + "
| 49119 | \n", + "49120 | \n", + "I am a developer by profession | \n", + "35-44 years old | \n", + "Bachelor’s degree (B.A., B.S., B.Eng., etc.) | \n", + "Employed | \n", + "Caring for dependents (children, elderly, etc.) | \n", + "13.0 | \n", + "No, I am not new to coding and did not learn n... | \n", + "NaN | \n", + "Yes, I learned how to use AI-enabled tools req... | \n", + "... | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "
| 49120 | \n", + "49121 | \n", + "I am a developer by profession | \n", + "25-34 years old | \n", + "Secondary school (e.g. American high school, G... | \n", + "Employed | \n", + "NaN | \n", + "2.0 | \n", + "Yes, I am not new to coding but am learning ne... | \n", + "Other online resources (e.g. standard search, ... | \n", + "No, I didn't spend time learning in the past year | \n", + "... | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "
| 49121 | \n", + "49122 | \n", + "I am a developer by profession | \n", + "25-34 years old | \n", + "Associate degree (A.A., A.S., etc.) | \n", + "Employed | \n", + "None of the above;Engaged in paid work (20-29 ... | \n", + "10.0 | \n", + "No, I am not new to coding and did not learn n... | \n", + "NaN | \n", + "Yes, I learned how to use AI-enabled tools for... | \n", + "... | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "7.0 | \n", + "
| 49122 | \n", + "49123 | \n", + "I am a developer by profession | \n", + "25-34 years old | \n", + "Some college/university study without earning ... | \n", + "Employed | \n", + "None of the above | \n", + "10.0 | \n", + "No, I am not new to coding and did not learn n... | \n", + "NaN | \n", + "No, I learned something that was not related t... | \n", + "... | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "NaN | \n", + "8.0 | \n", + "
49123 rows × 170 columns
\n", + "