在 pandas 矩阵中创建 rfm

create in pandas matrix rfm

我正在 pandas 中计算 rfv table,但我找不到教程或 post 来帮助我构建图形所需的矩阵。 The graph i want using this base from matplot 每个方块是该位置的客户数。

我现在使用的数据框有以下列:

COD_CLIENT RECENCY FRE_VAL R FV RFV RFV_Score RFV_Level
59 87 45.45 3 3 33 6 Potential
1846 75 6.00 3 2 32 5 Seleepers
4380 92 37.95 2 3 23 5 Seleepers
object int64 float64 int32 int32 int32 int64 object

你们建议我做什么? 我已经尝试使用 R 和 FV 作为列和行并使用函数,但这很糟糕。

您想计算​​每个 (R, FV) 对的行数,因此您可以尝试对之前的结果使用 pandas.DataFrame.groupby and then counting the number of elements in each group by using .size()。生成的代码应如下所示:

import pandas as pd


>> df = ...  # Assuming your DataFrame has the format you showed

>> df.groupby(["R", "FV"]).size()
R  FV
1  1     2
   2     1
   3     1
2  1     1
   2     1
dtype: int64

>> df.groupby(["R", "FV"]).size().unstack()  # Add unstack to format the result
FV    1    2    3
R                
1   2.0  1.0  1.0
2   1.0  1.0  NaN

这应该符合您的预期输出。