数据透视表

根据用户订单记录,自动生成每人每个月花费。

💡 统计一下每个人每个月的消费金额,每行一条用户的数据,列需要保留会员编号和姓名,之后的列展示每个月的金额

示例数据

交易时间会员名称会员性别会员状态会员编码信息完整度出生日期可退换货数量商品名称商品编码支付金额最后购买时间最后购买金额来源渠道标准售价活跃度累计购买次数累计购买金额订单编码退货数量销售净额销售数量

2024-08-20 18:15:03

杭源垣

未知

[50]正式会员

PP240321689842

0

2

维生素 AD 滴剂

12051054

91.60

2024-08-20

91.6

上海高济余天成大药房有限公司

45.80

活跃 A

3

3,352

22859008

0

91.60

2

2024-08-20 18:00:26

宁媚如

[50]正式会员

PP181127268580

0

1

甲磺酸溴隐亭片

22041774

90.50

2024-08-20

90.5

高济总部

90.50

活跃 A

6

3,730.9

22858992

0

90.50

1

2024-08-20 15:09:14

蓬妤殉

[50]正式会员

PP181127269347

0

1

萘敏维滴眼液

13186276

13.97

2024-08-20

30.2

一德泰和药房

13.97

活跃 A

230

15,987.1

22858897

0

13.97

1

2024-08-20 15:09:14

蓬妤殉

[50]正式会员

PP181127269347

0

1

复方醋酸地塞米松乳膏

13187858

16.23

2024-08-20

30.2

一德泰和药房

16.23

活跃 A

230

15,987.1

22858897

0

16.23

1

提示词

统计一下每个人每个月的消费金额,每行一条用户的数据,列需要保留会员编号和姓名,之后的列展示每个月的金额

AI 回复内容

首先,根据需求,我们需要完成以下步骤:

  1. 交易时间 列转换为日期格式,并提取出年份和月份。

  2. 按照 会员编码会员名称、年份和月份进行分组,并计算每个用户每个月的 支付金额 总和。

  3. 将结果转换为宽格式,以便每个月的消费金额在不同的列中展示。

接下来是生成相应的 pandas 代码:

import pandas as pd

# 将 '交易时间' 列转换为日期格式
data["CRM Data"]['交易时间'] = pd.to_datetime(data["CRM Data"]['交易时间'])

# 提取年份和月份
data["CRM Data"]['年月'] = data["CRM Data"]['交易时间'].dt.to_period('M')

# 按照会员编码、会员名称和年月分组,并计算支付金额总和
monthly_spending = data["CRM Data"].groupby(['会员编码', '会员名称', '年月'])['支付金额'].sum().reset_index()

# 将数据转换为宽格式
df_output = monthly_spending.pivot_table(index=['会员编码', '会员名称'], columns='年月', values='支付金额', fill_value=0)

# 重置索引
df_output.reset_index(inplace=True)

# 输出结果
df_output

结果

会员编码会员名称2023-082023-092023-102023-112023-122024-012024-022024-032024-042024-052024-062024-072024-08

PP181127265147

松波炼

727.4

0

0

0

78.9

304.5

119.4

0

0

0

0

0

0

PP181127265153

汤崴弋

0

0

0

0

0

0

0

0

0

130.2

0

0

0

PP181127265173

殷晏

0

0

333.9

589.2

2502.3

168.9

183.7

136.1

105.1

333.8

33.6

629.9

5.9

PP181127265187

齐悦珊

0

34.2

0

0

0

0

0

0

0

0

0

0

0

PP181127265340

卫锟战

0

0

0

0

3615.3

0

0

0

0

0

0

0

0

Last updated