假设我有以下PyparkDataframe:
Country Direction Quantity Price
Belgium In 5 10
Belgium Out 2 8
Belgium Out 3 9
France In 2 3
France Out 3 2
France Out 4 3
是否可以按此Dataframe按列“country”分组,“price”列的聚合平均值作为正常值,但对“quantity”列使用函数“first”,仅在“direction”列为“out”时才对行使用?我想应该是这样的:
df.groupby("Country").agg(F.mean('Price'), F.first(F.col('Quantity').filter(F.col('Direction') == "Out")))
1条答案
按热度按时间rkue9o1l1#
你可以遮住
Quantity
为了Direction != 'out'
做一个first
与ignoreNulls
: