我正在尝试从具有某些条件的初始数据帧计算度量。 df 是我的初始数据框。 以下是我在新数据框中需要的度量,但我不知道如何按列分组:
df['uniq_view_client'] = df[df['view'] == 1].groupby(['date_diff','platform','l2'])['user_client_id'].nunique()
df['uniq_click_client'] = df[df['click'] == 1].groupby(['date_diff','attributes_platform','l2'])['user_client_id'].nunique()
df['view'] = df.groupby(['date_diff','l2'])['view'].sum()
df['click'] = df.groupby(['date_diff','l2'])['click'].sum()
我正在尝试以这种方式编写它,但不知道如何计算一列并将条件传递给 agg pandas 函数中的另一列
agg_mult_df= df.groupby(
['date_diff','l2']
).agg(
uniq_view_client=('clint_id','nunique')# pass a lambda function that counts unique number of clients only if views =1,uniq_click_client=('clint_id','nunique') #pass a lambda function that counts unique number of clients only if click =1,all_view= ('view','sum'),all_click= ('click',).reset_index()
谁能帮我找出 lambda 部分(我认为这是唯一的选择),好吗?
这是示例 initial df
和结果df