我有一个按多列分组的数据框。在每个组中,我想生成一个值,该值找到每个组的最后一个实体并除以第一个实体。我还要显示输出中的实体数和最后一个实体值。
有关示例数据和所需的输出,请参见下文。我知道如何显示组的数量,如下面的代码所示。
df_group=df.groupby(['ID','Item','End_Date','Type'])
df_output=df_group.size().reset_index(name='Group Count')
下面,我按以下分组:
因此,我要查找的示例输出数据帧中的第一行的最终值为2(该组的最新值),并且最后一个值为2的百分比变化除以第一个值为3。还显示了另外两个示例。
如果您对如何将此应用程序转换为groupby对象有任何建议,请告诉我。非常感谢您的帮助。
答案 0 :(得分:0)
只需分配groupby
tail
和head
df_group=df.groupby(['ID','Item','End_Date','Type'])
df_output=df_group.size().reset_index(name='Group Count')
df_output['PCTCHange']=((df_group.value.tail(1)/df_group.value.head(1))-1).values
df_output['FinalValue']=df_group.value.tail(1).values