Created
June 5, 2015 15:08
-
-
Save Mengyuz/bd65ff44668871433708 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import pandas | |
import pandasql | |
def avg_min_temperature(filename): | |
''' | |
This function should run a SQL query on a dataframe of | |
weather data. More specifically you want to find the average | |
minimum temperature (mintempi column of the weather dataframe) on | |
rainy days where the minimum temperature is greater than 55 degrees. | |
You might also find that interpreting numbers as integers or floats may not | |
work initially. In order to get around this issue, it may be useful to cast | |
these numbers as integers. This can be done by writing cast(column as integer). | |
So for example, if we wanted to cast the maxtempi column as an integer, we would actually | |
write something like where cast(maxtempi as integer) = 76, as opposed to simply | |
where maxtempi = 76. | |
You can see the weather data that we are passing in below: | |
https://www.dropbox.com/s/7sf0yqc9ykpq3w8/weather_underground.csv | |
''' | |
weather_data = pandas.read_csv(filename) | |
q = """ | |
SELECT avg(cast (mintempi as integer)) | |
FROM weather_data | |
WHERE rain=1 and mintempi>55; | |
""" | |
#Execute your SQL command against the pandas frame | |
avg_min_temp_rainy = pandasql.sqldf(q.lower(), locals()) | |
return avg_min_temp_rainy |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment