Skip to content

e-kai00/data-analysis

Repository files navigation

Survey results analysis

This program is a tool that presents the results of Stack Overflow Annual Developer Survey 2021. It is designed to display survey results in a clear and concise manner, while also offering cross-tabulation analysis to help users gain deeper insights into the data. Another key feature of the program is editing. It allows the user to rename column names to customize the data to meet their specific needs.

The live link to the app - Survey results analysis


Features

  • Main menu

    • Displays a list of available program options for the user to choose from.
    • The user can select an option by entering the corresponding option number.

Main menu


  • Survey results

    • Prompts the user to select a section and question number to display results.
    • Displays the survey results in a clear and concise format.

Options Results


  • Cross-tabulation analysis

    • Provides a tool for analyzing the relationship between two datasets.
    • Allows the user to select two datasets by entering a section and question number for each dataset.
    • Displays the results of the cross-tabulation.

Cross-tab1 Results


  • Edit column names

    • Enables users to rename column names to better reflect their meaning or for ease of use.
    • Prompts the user to select the desired column by entering a section and question number.
    • Offers the option to rename the selected column.

Edit section Edit result


  • Exit

    • Allows the user to exit the program.

Data Model

The program works with the survey, which includes both text and numerical data. The program uses survey data provided in a file called "survey-res-halved.csv". This file is in .csv format and is read into the program using the Pandas library. In order to make the data more manageable, it has been pre-processed. Specifically, the original data was too large to work with efficiently, so it has been reduced in size by selecting a sample of respondents. The resulting dataset is used for all subsequent analyses and visualizations in the program.

The survey results are organized using the Pandas DataFrame, which allows for easy manipulation and analysis of the data. The main entities in the survey are the survey questions and the responses provided by the participants. Each survey question has a number of attributes associated with it, including the question text, response options, and the number of respondents who selected each response. Some survey questions have a multi-answer option, which are stored in the survey data in a single column with a delimiter (";").

The user is required to enter valid input when selecting menu options or choosing a specific question to view results for.


Testing

I have manually tested the program by:

  • Passing the code through a PEP8 linter to ensure that it adheres to standard Python coding conventions.
  • Testing the program with invalid inputs, such as strings when numbers are expected or numbers that are outside the range of possible indices for a given list.
  • Running the program on my local terminal and the Code Institute Heroku terminal to test the program with different inputs and scenarios.

Overall, the testing process was thorough and helped to ensure that the program works as expected.


Unfixed Bugs

No unfixed bugs.


Validator Testing

  • PEP8
    • no errors were returned from pep8ci.herokuapp.com

Deployment

This project was deployed using Code Institute's mock terminal for Heroku following the steps outlined below:

  • in Heroku account choose 'Create new app' from the 'New' menu
  • in 'Settings' configure 'Config Vars', scroll down to the 'Buildpack' section and add Python and NodeJS buildpacks
  • in the 'Deploy' tab select 'GitHub' to connect to your GitHub repository
  • choose the repository to deploy
  • scroll down the page and press 'Deploy' button
  • once the web app has been successfully deployed, you will see a link to the deployed app. This link can be used to access and test the application

The live link to the app - Survey results analysis


Credits

  • Stack Overflow Annual Developer Survey: the full survey version can be found here

  • "How to Analyze Survey Data with Python for Beginners" by Charlie Custer: the article provided a comprehensive guide on how to analyze survey data using Python. It can be found here

  • "Machine Learning with Python: Foundations" by Frederick Nwanganga: the online course provided valuable insights. Sections 2 through 4 covering the topics on collecting, understanding and preparing data were particularly useful. The course can be found here

  • Printing Lists as Tabular Data: Stack Overflow discussion provided useful tips on how to print lists as tabular data. It can be found here

  • The deployment terminal used for this project was provided by the Code Institute

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published