I am calculating the time-based EWMA, as defined:

where:

On the following example data frame df:
index      time       x
0          1          5
1          1.3        4
2          1.4        8
3          2.8        3  
For example, at time 3:

I know that in python we can use df['ewma'] = df['x'].ewm(alpha = c) to calculate the simple ewma, but here c can only be a fixed float. 
My question is: how do I handle changing parameter c? I could iterate through the entire df recursively to get the answers, but it seems really unsophisticated.
Any advice on how I could approach this problem? Thank you in advance!
 
    