首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >行中具有不同值的重复ID

行中具有不同值的重复ID
EN

Stack Overflow用户
提问于 2020-07-29 21:00:54
回答 1查看 35关注 0票数 0

我在我的论文中使用的数据集有一个问题。数据集包含客户购买信息,我想知道客户购买了多少次,总购买金额是多少,以及他们的平均支出是多少。我目前拥有的数据看起来像这样:

代码语言:javascript
复制
    id      date        total_purchase_amount   product_price
0   84288   2020-1-1    100                     50
1   84288   2020-1-1                            50
2   84288   2020-3-7    80                      20
3   84288   2020-3-7                            60
4   84289   2020-8-16   200                     10
5   84289   2020-8-16                           50
6   84289   2020-8-16                           10
7   84288   2020-8-16                           80
8   84290   2020-4-2    10                      10
9   84290   2020-4-8    30                      30
10  84291   2020-5-23   45                      45

一些客户进行了多次购买,导致其客户ID在数据集中多次出现。我想实现的是一个数据集,它看起来像这样:

代码语言:javascript
复制
   id      total_purchase_amount   average_spending    times_purchased
0   84288   180                     45                  2
1   84289   200                     37,5                1
2   84290   40                      20                  2
3   84291   45                      45                  1

有没有人能建议我如何实现这一点?我使用的数据集非常大,因此无法手动解决此问题。

下面是获取第一个数据帧的代码:

代码语言:javascript
复制
import pandas as pd

data = [[84288, "2020-1-1", 100, 50],[84288, "2020-1-1", "", 50],[84288, "2020-3-7", 80, 20], [84288, "2020-3-7", "", 60],[84289, "2020-8-16", 200, 10],[84289, "2020-8-16", "", 50],[84289, "2020-8-16", "", 10], [84289, "2020-8-16", "", 80],[84290, "2020-4-2", 10, 10],[84290, "2020-4-8", 30, 30],[84291, "2020-5-23", 45, 45]]

df = pd.DataFrame(data, columns=['id','date','total_purchase_amount','purchase_amount'])
EN

回答 1

Stack Overflow用户

发布于 2020-07-29 21:12:54

将空白行替换为NA,并在分组中执行数学运算。

代码语言:javascript
复制
df.replace('', np.NaN, inplace=True)
df.groupby('id')[['total_purchase_amount','purchase_amount']].agg(average_spending=('purchase_amount','mean'),times_purchased=('total_purchase_amount','count'))

       average_spending times_purchased
id      
84288   45.0    2
84289   37.5    1
84290   20.0    2
84291   45.0    1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63154203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档