From 3ddaab3407f816d7f4ac62065e8a1d9c9e07858e Mon Sep 17 00:00:00 2001 From: kgao <kenny.gao@ssec.wisc.edu> Date: Thu, 11 Aug 2016 19:05:09 +0000 Subject: [PATCH] Average 'most' data into 1 minute interval averages all vars now except wind_speed and wind_direction Haven't added gust yet --- aosstower/level_b1/nc.py | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/aosstower/level_b1/nc.py b/aosstower/level_b1/nc.py index 645feff..894ee37 100644 --- a/aosstower/level_b1/nc.py +++ b/aosstower/level_b1/nc.py @@ -117,6 +117,22 @@ def createVariables(ncFile, firstStamp, chunksizes, zlib): return ncFile +def minuteAverages(frame): + frame['minute'] = [ts.replace(second=0) for ts in frame.index] + newFrame = frame.groupby('minute').mean() + newFrame.index.names = [''] + + columns = list(newFrame.columns.values) + if 'wind_speed' in columns: + del newFrame['wind_speed'] + + if 'wind_direction' in columns: + del newFrame['wind_direction'] + + del frame['minute'] + + return newFrame.fillna(-99999) + def getData(inputFiles): dictData = {} @@ -132,7 +148,7 @@ def getData(inputFiles): dictData[stamp] = frame - return pd.DataFrame(dictData).transpose() + return pd.DataFrame(dictData).transpose().replace(-99999, np.nan) def writeVars(ncFile, frame): stamps = list(frame.index) @@ -208,6 +224,10 @@ def createGiantNetCDF(start, end, inputFiles, outputName, zlib, chunkSize): frame = getData(inputFiles) + newFrame = minuteAverages(frame) + + print(newFrame) + if(frame.empty): return False -- GitLab