熊猫groupby:将组中的最后一个除以组中的第一

时间:2018-11-06 02:14:58

标签: python pandas

我有一个按多列分组的数据框。在每个组中,我想生成一个值,该值找到每个组的最后一个实体并除以第一个实体。我还要显示输出中的实体数和最后一个实体值。

有关示例数据和所需的输出,请参见下文。我知道如何显示组的数量,如下面的代码所示。

df_group=df.groupby(['ID','Item','End_Date','Type'])
df_output=df_group.size().reset_index(name='Group Count')

下面,我按以下分组:

因此,我要查找的示例输出数据帧中的第一行的最终值为2(该组的最新值),并且最后一个值为2的百分比变化除以第一个值为3。还显示了另外两个示例。

如果您对如何将此应用程序转换为groupby对象有任何建议,请告诉我。非常感谢您的帮助。

df

enter image description here

1 个答案:

答案 0 :(得分:0)

只需分配groupby tailhead

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