Python 具有多个条件和操作的groupby

Python 具有多个条件和操作的groupby,python,python-3.x,pandas,numpy,pandas-groupby,Python,Python 3.x,Pandas,Numpy,Pandas Groupby,我有一个问题,我想分组并在数据帧上执行一些操作。输入数据帧如下所示: 我想根据unique_id进行分组,但如果有两个观察,我需要在一个unique id中有两行。在一个unique_id中可以有任意数量的观察 预期产出: 我曾试图做一个计数和其他列出来,以帮助groupby,但我没有为我工作 df["Count_ob"] = df.groupby("Unique_ID")["IF_car_history"].sum() 感谢你的帮助。谢谢嘿,这肯定是个骗局。谢谢你抽出时间。但是,当在唯一I

我有一个问题,我想分组并在数据帧上执行一些操作。输入数据帧如下所示:

我想根据unique_id进行分组,但如果有两个观察,我需要在一个unique id中有两行。在一个unique_id中可以有任意数量的观察

预期产出:

我曾试图做一个计数和其他列出来,以帮助groupby,但我没有为我工作

df["Count_ob"] = df.groupby("Unique_ID")["IF_car_history"].sum()

感谢你的帮助。谢谢

嘿,这肯定是个骗局。谢谢你抽出时间。但是,当在唯一ID 3和ob_ID 4的结果中,我需要添加所有四行@marcos时,您可以将输出放在marcos回答之后吗?
df = pd.DataFrame({'Unique_id':[1,1,2,2,3,3,3,3],
                   'Car_history':[0,1,0,1,0,1,0,1],
                   'Value':[1000,1500,1000,1200,800,700,1300,1700],
                   'Ob_id':[0,1,0,2,0,3,0,4]})


df["Count_ob"] = df.Ob_id[::-1].cumsum()[::-1] # <=== this do the trick!!!
df["Count_ob"] = df["Count_ob"].max() - df["Count_ob"]

df = df.groupby("Count_ob")[["Unique_id","Car_history","Value","Ob_id"]].agg({'Unique_id':'max',
                                                                        'Car_history':'sum',
                                                                        'Value':'sum',
                                                                        'Ob_id':'sum'}).reset_index(drop=True)
df['Value'] = df.groupby('Unique_id')['Value'].cumsum().values