''' unterschiedliche Smoothing verfahren werden angewandt - einmal auf die ungruppierten Daten und einmal auf die gruppierten Daten. Als aggregationsfunktion wird .mean() verwendet. Als Level wird auf eintägig guppiert.
NaN Temperaturwerte werden mit dem durchschnittlichen Temperaturwert überschrieben - gleiches gilt für Tilt.
beim mov_avg auf height werden NaN durch Interpolation gefüllt
'''
defsmoothing_fillingNaN(df):
#smooth with lfilter
n=60# the larger n is, the smoother curve will be
b=[1.0/n]*n
a=1
df['lfilter']=lfilter(b,a,df['Height'])
#moving average smoothing
df['mov_avg']=df['Height'].rolling(30).mean()
#minimum moving average
df['min_avg']=df['Height'].rolling(30).min()
#creating new DataFrame on Level Daily with aggregation max()