I am attempting to a smooth this data set and produce a single representative curve with error bars. The method to acquire the data points was discretized with a fairly coarse step. I do not have much programming experience but am trying to learn. I read that a Gaussian filter might be a good option. Any help would be appreciated. 
Here is an example data set:
Time (min) Non-Normalized Shrinkage Normalized Shrinkage 200 93 1.021978022 202 92 1.010989011 204 92 1.010989011 206 92 1.010989011 208 92 1.010989011 210 92 1.010989011 212 91 1 214 90 0.989010989 216 90 0.989010989 218 90 0.989010989 220 88 0.967032967 222 88 0.967032967 224 87 0.956043956 226 86 0.945054945 228 86 0.945054945 230 86 0.945054945 232 86 0.945054945 234 86 0.945054945 236 85 0.934065934 238 84 0.923076923 240 83 0.912087912 242 83 0.912087912 244 83 0.912087912 246 82 0.901098901 248 83 0.912087912 250 82 0.901098901 252 81 0.89010989 254 81 0.89010989 256 82 0.901098901 258 82 0.901098901 260 79 0.868131868 262 80 0.879120879 264 80 0.879120879 I found this code snippet online somewhere but I do not know how to implement it or whether it is even what I'm looking for.
def smoothListGaussian(list,degree=5): window=degree*2-1 weight=numpy.array([1.0]*window) weightGauss=[] for i in range(window): i=i-degree+1 frac=i/float(window) gauss=1/(numpy.exp((4*(frac))**2)) weightGauss.append(gauss) weight=numpy.array(weightGauss)*weight smoothed=[0.0]*(len(list)-window) for i in range(len(smoothed)): smoothed[i]=sum(numpy.array(list[i:i+window])*weight)/sum(weight) return smoothed 
