【发布时间】:2023-03-20 02:33:01
【问题描述】:
我有一张如下所示的表格:
| user id | observation |
|---|---|
| 25 | 2 |
| 25 | 3 |
| 25 | 2 |
| 23 | 1 |
| 23 | 3 |
期望的结果是:
| user id | observation | retention |
|---|---|---|
| 25 | 7 | 3 |
| 23 | 4 | 2 |
我想保留具有唯一 ID 的用户 ID 列,并有另一列显示此 ID 在数据集中出现了多少次,以汇总观察列值。
任何帮助将不胜感激 谢谢
【问题讨论】:
我有一张如下所示的表格:
| user id | observation |
|---|---|
| 25 | 2 |
| 25 | 3 |
| 25 | 2 |
| 23 | 1 |
| 23 | 3 |
期望的结果是:
| user id | observation | retention |
|---|---|---|
| 25 | 7 | 3 |
| 23 | 4 | 2 |
我想保留具有唯一 ID 的用户 ID 列,并有另一列显示此 ID 在数据集中出现了多少次,以汇总观察列值。
任何帮助将不胜感激 谢谢
【问题讨论】:
你必须使用group by:
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
【讨论】: