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

Python 熊猫分组:将分组中的最后一个除以分组中的第一个,python,pandas,Python,Pandas,我有一个数据框,我已经按多个列分组。在每个组中,我想生成一个值,找到每个组的最后一个实体并除以第一个实体。我还想显示输出中的实体数和最后一个实体值 有关示例数据和所需输出,请参见下文。我知道如何显示组的计数,如下代码所示 df_group=df.groupby(['ID','Item','End_Date','Type']) df_output=df_group.size().reset_index(name='Group Count') 下面,我按以下内容分组: 因此,我正在寻找的示例输出数

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

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

df_group=df.groupby(['ID','Item','End_Date','Type'])
df_output=df_group.size().reset_index(name='Group Count')
下面,我按以下内容分组:

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

如果您有关于如何将此应用程序转到groupby对象的任何提示,请告诉我。非常感谢你的帮助


只需使用
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