我正在使用 pySpark
,并已经设置了一个数据框,其中两列代表每日资产价格如下:
ind = sc.parallelize(range(1,5))
prices = sc.parallelize([33.3,31.1,51.2,21.3])
data = ind.zip(prices)
df = sqlCtx.createDataFrame(data,["day","price"])
我执行 df.show()
后得到:
+---+-----+
|day|price|
+---+-----+
| 1| 33.3|
| 2| 31.1|
| 3| 51.2|
| 4| 21.3|
+---+-----+
这都没问题。我想再加一列,包括价格每日收益,即像下面这样:
(price(day2)-price(day1))/(price(day1))
经过很多研究,我被告知最有效的方法是应用 pyspark.sql.window
函数,但我不知道如何操作。