【发布时间】:2021-12-06 21:06:37
【问题描述】:
我有一个以下格式的熊猫数据框
id name value_1 value_2
1 def 1 0
2 abc 0 1
我需要根据 id、name、value_1 和 value_2 对上述数据框进行排序。之后,对于 [id,name,value_1,value_2] 的每一组,获取第一行并设置 df['result'] = 1。对于该组中的其他行,设置 df['result'] = 0。
我使用以下代码进行排序并获取第一行:
df = df.sort_values(["id","name","value_1","value_2"], ascending=True)
first_row_per_group = df.groupby(["id","name","value_1","value_2"]).agg('first')
获得第一行后,我设置了 first_row_per_group ['result'] = 1。但我不确定如何将其他行(非第一行)设置为 0。
任何建议将不胜感激。
【问题讨论】:
标签: pandas aggregate-functions