I have a dataframe as shown below:

[![enter image description here](https://i.stack.imgur.com/rJGXr.png)](https://i.stack.imgur.com/rJGXr.png)

I would like to calculate and create new columns with the following features:

* Avg/MovingAvg over the last 1 day for quality/strength
* Avg/MovingAvg over the last 2 days for quality/strength
* Avg/MovingAvg over the last 5 days for quality/strength
* Avg/MovingAvg over the last 1 week for quality/strength
* Avg/MovingAvg over the last 2 weeks for quality/strength
* Avg/MovingAvg over the last 1 month for quality/strength

Could you please let me know how I can achieve this in pyspark.