Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/canayter/sqlalchemy-trip-planner
Planning a trip and running a feasibility analysis by analyzing the climate of the area using SQLAlchemy ORM queries, Pandas, and Matplotlib.
https://github.com/canayter/sqlalchemy-trip-planner
matplotlib pandas python sql sqlalchemy
Last synced: 4 days ago
JSON representation
Planning a trip and running a feasibility analysis by analyzing the climate of the area using SQLAlchemy ORM queries, Pandas, and Matplotlib.
- Host: GitHub
- URL: https://github.com/canayter/sqlalchemy-trip-planner
- Owner: canayter
- License: mit
- Created: 2024-02-07T23:05:22.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-02-17T23:13:09.000Z (9 months ago)
- Last Synced: 2024-07-26T21:31:31.898Z (4 months ago)
- Topics: matplotlib, pandas, python, sql, sqlalchemy
- Language: Jupyter Notebook
- Homepage:
- Size: 528 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
**Instructions**
Congratulations! You've decided to treat yourself to a long holiday vacation in Honolulu, Hawaii. To help with your trip planning, you decide to do a climate analysis about the area. The following sections outline the steps that you need to take to accomplish this task.
1- Analyze and Explore the Climate Data
In this section, you’ll use Python and SQLAlchemy to do a basic climate analysis and data exploration of your climate database. Specifically, you’ll use SQLAlchemy ORM queries, Pandas, and Matplotlib. To do so, complete the following steps:
- Note that you’ll use the provided files (climate_starter.ipynb and hawaii.sqlite) to complete your climate analysis and data exploration.
- Use the SQLAlchemy create_engine() function to connect to your SQLite database.
- Use the SQLAlchemy automap_base() function to reflect your tables into classes, and then save references to the classes named station and measurement.
- Link Python to the database by creating a SQLAlchemy session.
- Perform a precipitation analysis and then a station analysis by completing the steps in the following two subsections.2- Precipitation Analysis
- Find the most recent date in the dataset.
- Using that date, get the previous 12 months of precipitation data by querying the previous 12 months of data. Select only the "date" and "prcp" values.
- Load the query results into a Pandas DataFrame. Explicitly set the column names.
- Sort the DataFrame values by "date".
- Plot the results by using the DataFrame plot method.
- A screenshot depicts the plot.
- Use Pandas to print the summary statistics for the precipitation data.3- Station Analysis
- Design a query to calculate the total number of stations in the dataset.
- Design a query to find the most-active stations (that is, the stations that have the most rows). To do so, complete the following steps:
- List the stations and observation counts in descending order. Answer the following question: which station id has the greatest number of observations?
- Design a query that calculates the lowest, highest, and average temperatures that filters on the most-active station id found in the previous query. Design a query to get the previous 12 months of temperature observation (TOBS) data. To do so, complete the following steps:
- Filter by the station that has the greatest number of observations.
- Query the previous 12 months of TOBS data for that station.
- Plot the results as a histogram with bins=12, as the following image shows:
- A screenshot depicts the histogram.4- Design Your Climate App
- Now that you’ve completed your initial analysis, you’ll design a Flask API based on the queries that you just developed. To do so, use Flask to create your routes as follows:
- Start at the homepage.
- List all the available routes.
- Convert the query results from your precipitation analysis (i.e. retrieve only the last 12 months of data) to a dictionary using date as the key and prcp as the value.
- Return the JSON representation of your dictionary.
- Return a JSON list of stations from the dataset.
- Query the dates and temperature observations of the most-active station for the previous year of data.
- Return a JSON list of temperature observations for the previous year.
- Return a JSON list of the minimum temperature, the average temperature, and the maximum temperature for a specified start or start-end range.
- For a specified start, calculate TMIN, TAVG, and TMAX for all the dates greater than or equal to the start date.
- For a specified start date and end date, calculate TMIN, TAVG, and TMAX for the dates from the start date to the end date, inclusive. Join the station and measurement tables for some of the queries.
- Use the Flask jsonify function to convert your API data to a valid JSON response object.