In [29]:
import pandas as pd
import urllib
In [30]:
#gets data from dropbox and saves it into the data directory under the given name
urllib.urlretrieve('https://dl.dropboxusercontent.com/s/4deyqskikyf02qr/ICO2sensordata_uglyish_asc.txt?token_hash=AAHPGWW6wb1xnWJl1JFAqoF0v0yiHlASR1_UQLB1z7f-Jg&dl=1','/usgs/data2/notebook/data/ICO2_uglyish_asc.txt')
Out[30]:
In [31]:
#text file looks like this
'''
Docklight Log File (ASCII) - Started 6/14/2013 11:34:17.033
RH0000 P1040X<CR><LF>
2013/06/04 19:42:23 - G 498.00 T26.78 HT0000 RH0000 P1040X<CR><LF>
2013/06/04 19:42:25 - G 498.00 T26.78 HT0000 RH0000 P1040X<CR><LF>
2013/06/04 19:42:27 - G 498.00 T26.78 HT0000 RH0000 P1040X<CR><LF>
2013/06/04 19:42:29 - G 498.00 T26.79 HT0000 RH0000 P1040X<CR><LF>
2013/06/04 19:42:31 - G 498.00 T26.80 HT0000 RH0000 P1042X<CR><LF>
'''
Out[31]:
In [32]:
# reads columns with fixed width and chops out un-needed characters.
col_specs=[(0,10), (11,19), (23,30), (32,37), (43,47), (50,54), (58,62)]
'''
df = pd.read_fwf(StringIO(x),colspecs=col_specs, skiprows=2,parse_dates =[[0,1]], index_col=0,
names=['date','time','CO2','Temperature','Humidity','Relative Humidity','Pressure'],header=None)
'''
df = pd.read_fwf('/usgs/data2/notebook/data/ICO2_uglyish_asc.txt',colspecs=col_specs, skiprows=2,parse_dates =[[0,1]], index_col=0,
names=['date','time','CO2','Temperature','Humidity','Relative Humidity','Pressure'],header=None,nrows=500000)
In [33]:
df['CO2'].max()
Out[33]:
In [34]:
df['CO2'].plot(figsize=(15,6))
Out[34]:
In [35]:
# calculates 5 minute averages of all the data
df_5min = df.resample('5min',how = 'mean')
df_5min['Temperature']['2013-06-04 12:00:00':'2013-06-11 18:00:00']
Out[35]:
In [36]:
# clip to time when instrument was in water
df_5min = df_5min['2013-06-04 20:35:00':'2013-06-11 17:15:00']
In [37]:
df_5min[['CO2','Temperature']].plot(figsize=(15,4),secondary_y = 'Temperature');
In [38]:
df_5min[['Humidity','Relative Humidity']].plot(figsize=(15,4));
In [39]:
df_5min['Pressure'].plot(figsize=(15,4));
In [40]:
# look at correlation between Temp and CO2
corrcoef(df_5min['Temperature'],df_5min['CO2'])
Out[40]:
In [41]:
plot(df_5min['Temperature'],df_5min['CO2'],'go');
grid();
In [14]: