Skip to content

Instantly share code, notes, and snippets.

@omellet
Created June 27, 2013 02:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save omellet/5873489 to your computer and use it in GitHub Desktop.
Save omellet/5873489 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "PHL_rainfall"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"# data is NOAA's hourly precipitation amounts for PHL measured in hundredths of an inch\n",
"# see documentation at ftp://ftp.ncdc.noaa.gov/pub/data/cdo/documentation/PRECIP_HLY_documentation.pdf\n",
"\n",
"import pandas as pd\n",
"import numpy as np\n",
"from datetime import datetime\n",
"import matplotlib.pyplot as plt\n",
"\n",
"df = pd.read_csv('168853.csv', index_col = 'DATE', date_parser = lambda x: datetime.strptime(x, '%Y%m%d %H:%M'))"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# rainfall for June - exclude measurement types:\n",
"# a - start of accumulation\n",
"# { - start of deleted period\n",
"# } - end of deleted period\n",
"# [ - start of missing period\n",
"# ] - end of missing period\n",
"# M - missing data\n",
"dfj = df[df.index.map(lambda dt: dt.month == 6) & (df['Measurement Flag'].map(lambda x: not x in ['a','{','}','[',']','M']))]\n",
"dfj.HPCP = dfj.HPCP * 0.254 # convert to mm\n",
"\n",
"# bucket by year\n",
"by_year = dfj.groupby(dfj.index.map(lambda dt: dt.year)).aggregate({'HPCP' : np.sum})\n",
"\n",
"# show min and max June rainfall years, in mm\n",
"pd.concat([by_year.ix[by_year.idxmin(axis=0)], by_year.ix[by_year.idxmax(axis=0)]])\n"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>HPCP</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1949</th>\n",
" <td> 2.794</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1938</th>\n",
" <td> 255.524</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"output_type": "pyout",
"prompt_number": 3,
"text": [
" HPCP\n",
"1949 2.794\n",
"1938 255.524"
]
}
],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# polynomial fit\n",
"p3 = np.poly1d(np.polyfit(by_year.index, by_year.HPCP, 3))\n",
"fig = plt.figure(figsize=(15,6))\n",
"lines = plt.plot(by_year.index, by_year.HPCP, '.', by_year.index, p3(by_year.index), '-')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "display_data",
"png": "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\nTaeshF2+fFk5OTl64YUXIscoK6lhuuXl5z//uR555BGVl5drzZo1CgQCkigvqWA6ZWVgYEB79uzR\nmjVrVFZWpsOHD0e+h7KS/FpaWrR582atWrVK5eXlevHFFyVJnZ2d2rp1q1asWKFt27apO2qRUOq5\nqWu65cXWeq5pg7ffftv82c9+ZpaXl0eOrV+/3nz77bdN0zTN1157zXz22WdN0zTNjz76yHzggQfM\nQCBgNjc3m/fdd585PDxsmqZpbtiwwXz33XdN0zTNxx57zKyvr7fj9OAw0ykv58+fN9va2kzTNM1f\n/OIXZmFhYeR7KC/JbzplJWznzp3m7t27zeeffz5yjLKSGqZTXoLBoLlmzRrz5z//uWmaptnZ2WmG\nQiHTNCkvqWA6ZeW73/2u+fjjj5umaZr9/f1mcXGx+bvf/c40TcpKKmhrazPPnz9vmqZp9vT0mCtW\nrDAvXLhgfuMb3zCPHDlimqZpHj582PzmN79pmib13FQ33fJiZz3Xlpa6TZs2KT8/P+bYxYsXtWnT\nJknSli1b9Oabb0qSTp06pT179sjr9aq4uFjLly/Xu+++q7a2NvX09Gjjxo2SpK985Ss6efKkHacH\nh5lOeVm7dq0KCgokSWVlZbp165aCwSDlJUVMp6xI0smTJ/WZz3xGZWVlkWOUldQxnfLS0NCgNWvW\nRFpq8vPzlZaWRnlJEdMpK0uXLlVfX59CoZD6+vqUkZGhefPmUVZSREFBgdauXStJysnJ0cqVK9Xa\n2qrTp09r3759kqR9+/ZF/vbUc1PbdMuLnfVc2ydKCVu1alVk0fH/+I//iMyIefXq1ZjZMMPr2I08\nXlhYyPp2KWS88hLtzTff1IMPPiiv16vW1lbKS4oar6z09vbqn//5n1VdXR3zeMpKahuvvDQ1Nckw\nDH3+85/Xgw8+qH/5l3+RRHlJZeOVle3bt2vevHlaunSpiouL9Y1vfEN5eXmUlRR06dIlnT9/Xg89\n9JA6Ojrk8/kkST6fTx0dHZKo5+KOqZSXaHdbz41bqHvttdf08ssva/369ert7VVGRka8ngpJYLLy\n8tFHH+lb3/qWXnnllQSdIZxivLJSXV2tv/3bv1VWVhbLpiBivPIyNDSkd955R7W1tXrnnXf01ltv\n6Yc//CHrqKaw8crK66+/rlu3bqmtrU3Nzc16/vnn1dzcnOCzxWzr7e3Vzp07dfToUeXm5sbcZxgG\n7x2IMd3yYkc91/bZL8Puv/9+/fd//7ck64rof/7nf0oavY7dlStXVFRUpMLCQl25ciXmeGFhYbxO\nDw4zXnmRrLLwpS99Sd/73ve0bNkySaK8pLCRZeW//uu/JEnnzp3Tm2++qQMHDqi7u1tpaWmaO3eu\nvvSlL1FWUth47y333HOPPve5z2nBggWSpIqKCv3sZz/Tn/3Zn1FeUtR47y3/8z//oy9+8YtKT0/X\n4sWL9Yd/+Id6//339dnPfpaykiKCwaB27typJ554Qjt27JBktba0t7eroKBAbW1tWrJkiSTquZhe\neZHsq+fGraXu2rVrkqTh4WH94z/+o5566ilJUmVlpU6cOKFAIKDm5mZdvHhRGzduVEFBgebNm6d3\n331Xpmnqe9/7XuSFQPIbr7x0d3frC1/4go4cOaJHHnkk8vilS5dSXlLUyLLyl3/5l5Kkt99+W83N\nzWpubtbTTz+tv/u7v9PXvvY13ltS3HjvLdu3b9eHH36oW7duaWhoSGfPntWqVasoLylsvPeW0tJS\n/fCHP5Qk9fX16X//939VWlpKWUkRpmlq//79Kisr09NPPx05XllZqZqaGklSTU1N5G9PPTe1Tbe8\n2FrPtWOml8cff9xcunSp6fV6zaKiIvP48ePm0aNHzRUrVpgrVqwwv/3tb8c8/p/+6Z/M++67z7z/\n/vvNM2fORI7/9Kc/NcvLy8377rvP/Ou//ms7Tg0ONJ3y8g//8A9mdna2uXbt2sjt2rVrpmlSXlLB\ndN9bwqqrq80XXngh8jVlJTVMt7y8/vrr5qpVq8zy8vLITGSmSXlJBdMpKwMDA+aXv/xls7y83Cwr\nK4uZWZeykvx+/OMfm4ZhmA888ECkHlJfX29+8skn5qOPPmqWlJSYW7duNbu6uiLfQz03dU23vNhZ\nzzVMk8EnAAAAAOBWcet+CQAAAACIP0IdAAAAALgYoQ4AAAAAXIxQBwAAAAAuRqgDAAAAABcj1AEA\nAACAi/1/ayPBJz+rwoIAAAAASUVORK5CYII=\n"
}
],
"prompt_number": 45
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment