Files to run are climate_starter and app.py, located in SurfsUp folder.
In this section, Python and SQLAlchemy are used to do a basic climate analysis and data exploration of a given climate database. Specifically, SQLAlchemy ORM queries, Pandas, and Matplotlib.
- Use the provided files (climate_starter.ipynb and hawaii.sqlite) to complete the climate analysis and data exploration.
- Use the SQLAlchemy create_engine() function to connect to the SQLite database.
- Use the SQLAlchemy automap_base() function to reflect the 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.
- 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, and set the index to the "date" column.
- Sort the DataFrame values by "date".
- Plot the results by using the DataFrame
plot
method. - Use Pandas to print the summary statistics for the precipitation data.
- 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). Using the most-active station id, calculate the lowest, highest, and average temperatures.
- Design a query to get the previous 12 months of temperature observation (TOBS) data. Plot the results as a histogram with
bins=12
.
- Precipitation Analysis
Create a Flask API based on the queries developed above.
-
/
- Start at the homepage. List all the available routes.
-
/api/v1.0/precipitation
- Convert the query results to a dictionary by using date as the key and prcp as the value.
- Return the JSON representation of your dictionary.
-
/api/v1.0/stations
- Return a JSON list of stations from the dataset.
-
/api/v1.0/tobs
- 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.
-
/api/v1.0/<start>
and/api/v1.0/<start>/<end>
- 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
, andTMA
X for all the dates greater than or equal to the start date. - For a specified start date and end date, calculate
TMIN
,TAVG
, andTMAX
for the dates from the start date to the end date, inclusive.