Python 基于给定的数据帧创建新的数据帧

Python 基于给定的数据帧创建新的数据帧,python,pandas,dataframe,Python,Pandas,Dataframe,我有一张这样的桌子: 用户id 观察 25 2. 25 3. 25 2. 23 1. 23 3. 使用方法和链方法对其进行优化: outputdf=df.groupby('user id',as_index=False).agg(observation=('observation','sum'),retention=('observation','count')) 现在,如果您打印outputdf,您将获得所需的输出: user id observation reten

我有一张这样的桌子:

用户id 观察 25 2. 25 3. 25 2. 23 1. 23 3. 使用方法和链方法对其进行优化:

outputdf=df.groupby('user id',as_index=False).agg(observation=('observation','sum'),retention=('observation','count'))
现在,如果您打印
outputdf
,您将获得所需的输出:

     user id    observation     retention
0       23          4               2
1       25          7               3

您必须使用
分组依据

import pandas as pd 

d = {'user id': [25,25,25,33,33], 'observation': [2,3,2,1,3]}

# get the dataframe
df = pd.DataFrame(data=d)

df_new = df.groupby('user id').agg({"sum", "count"}).reset_index()

# rename the columns as you desire
df_new.columns = ['user id', 'observation', 'retention']
df_new
输出: