我对皮斯帕克真的很陌生。我只想找到“date”列的最大值,并在dataframe中为所有行(重复)添加一个具有此最大日期的新列,以便:
A B C
a timestamp1 timestamp3
b timestamp2 --------------------> timestamp3
c timestamp3 timestamp3
我使用以下代码行:
df.withColumn('dummy_column',f.lit((f.max('date'))).cast('timestamp')).show(9)
但我得到了一个错误:
> AnalysisException: grouping expressions sequence is empty, and
> '`part`' is not an aggregate function. Wrap '(CAST(max(`date`) AS
> TIMESTAMP) AS `new_column`)' in windowing function(s) or wrap '`part`'
> in first() (or first_value) if you don't care which value you get.;;
有人能帮我理解为什么会出现这个错误,以及如何解决这个问题吗?
2条答案
按热度按时间mm9b1k5b1#
还有一个选择
max_timestamp
只是grpupBy()
现有Dataframe及其使用max()
为了得到max timestamp
,把它收起来variable
并按您的要求使用在这里创建df
输入
输出
kupeojn62#
你可能在寻找:
聚合函数,如
max
使用窗口或分组操作。它们不能单独工作,因为您没有指定聚合函数操作的行范围。