我在pyspark中有下面的dataframe,它已经在groupby中的“accountname”列中了。
accountname | namespace | cost | cost_to_pay
account001 | ns1 | 93 | 9
account001 | Transversal | 93 | 25
account002 | ns2 | 50 | 27
account002 | Transversal | 50 | 12
我需要一个新的专栏 "cost" - "cost_to_pay"
哪里 "namespace" == "Transversal"
,我需要在新列的所有字段中使用此结果,如下所示:
accountname | namespace | cost | cost_to_pay | new_column1
account001 | ns1 | 93 | 9 | 68
account001 | Transversal | 93 | 25 | 68
account002 | ns2 | 50 | 27 | 38
account002 | Transversal | 50 | 12 | 38
68是从account001中减去groupby的93-25的结果。38减去50-12的结果为account002。
你知道我怎样才能做到吗?
2条答案
按热度按时间szqfcxe21#
您可以使用最大隐藏差异来获取每个accountname的差异:
mqkwyuun2#
如果
df
你的Dataframe在groupby
,你可以找到df_temp
使用: