コード:pysparkデータフレームを使用してstd devをパーティション化またはグループ化したデータを見つける方法は?
w = Window().partitionBy("ticker").orderBy("date")
x = s_df.withColumn("daily_return", (col("close") - lag("close", 1).over(w))/lag("close", 1).over(w))
どのように見えるかs_df:その後、どのように見えるかをX
+----------+------+------+------+------+--------+------+
| date| open| high| low| close| volume|ticker|
+----------+------+------+------+------+--------+------+
|2016-11-02| 111.4|112.35|111.23|111.59|28331709| AAPL|
|2016-11-01|113.46|113.77|110.53|111.49|43825812| AAPL|
|2016-10-31|113.65|114.23| 113.2|113.54|26419398| AAPL|
+----------+------+------+------+------+--------+------+
:
+----------+--------------------+
| date| avg(daily_return)|
+----------+--------------------+
|2015-12-28|0.004124786535090563|
|2015-11-20|0.006992226387807268|
|2015-12-29| 0.01730500286123971|
私はすべての平均の標準偏差(daily_return)を見つけたいですティッカーのグループ。私が試した何
:
x.agg(stddev("avg(daily_return)")).over(w)
私はこのエラーを取得する:
AttributeError: 'DataFrame' object has no attribute 'over'
は、私は可能ではないが何をしようとしているか、それともそれを行うための別の方法は何ですか?
'avg(daily_return)'カラムにどうやって到着しましたか? 'x'のコードが何か他のものを生成するためです。 – mtoto
'groupBy(" date "、" ticker ")を実行できません。 – mtoto
私たちは[チャットでこのディスカッションを続行しましょう](http://chat.stackoverflow.com/rooms/128470/discussion-between-pr338-and-mtoto)。 – pr338