美文网首页
Python3 & 统计固定指标的数量

Python3 & 统计固定指标的数量

作者: 乘风破浪的姐姐 | 来源:发表于2022-12-14 14:27 被阅读0次

场景:
有如下excel,
规则:
rValue>=17.45时,R=0,否则R=1
fValue<=17.45时,F=0,否则F=1
mValue<=17.45时,M=0,否则M=1

高价值MM: R=1,F=1,M=1
重点保持MM:R=0,F=1,M=1
重点发展MM:R=1,F=0,M=1
重点挽留MM:R=0,F=0,M=1
一般价值MM:R=1,F=1,M=0
一般保持MM:R=0,F=1,M=0
一般发展MM:R=1,F=0,M=0
潜在MM: R=0,F=0,M=0

统计以上各类型MM的数量


image.png

代码:

# -*- coding: utf-8 -*-
import pandas as pd


rfms = pd.read_excel("D:/RFM.xlsx",header=0)
rfm_li =rfms.to_dict("records")
# print(rfm_li)

avgR = 17.45
avgF = 1.54
avgM = 255.68

rfm_newlist = []
for rfm in rfm_li:
    # print(rfm)
    rfm_dict = {}
    if rfm.get('rValue') >= avgR:
        # rfm_dict['rValue'] = rfm.get('rValue')
        rfm_dict['R'] = 0
    else:
        # rfm_dict['rValue'] = rfm.get('rValue')
        rfm_dict['R'] = 1

    if rfm.get('fValue') <= avgF:
        # rfm_dict['fValue'] = rfm.get('fValue')
        rfm_dict['F'] = 0
    else:
        # rfm_dict['fValue'] = rfm.get('fValue')
        rfm_dict['F'] = 1

    if rfm.get('mValue') <= avgM:
        # rfm_dict['mValue'] = rfm.get('mValue')
        rfm_dict['M'] = 0
    else:
        # rfm_dict['mValue'] = rfm.get('mValue')
        rfm_dict['M'] = 1
    rfm_newlist.append(rfm_dict)

#print(rfm_newlist)
#print(len(rfm_newlist))

member111 = 0
member011 = 0
member101 = 0
member001 = 0
member110 = 0
member010 = 0
member100 = 0
member000 = 0

for i in range(len(rfm_newlist)):
     rfm =  dict(eval(str(rfm_newlist[i])))
     if rfm.get('R') == 1 and rfm.get('F') == 1 and rfm.get('M') == 1:
        member111 = member111 + 1
     elif rfm.get('R') == 0 and rfm.get('F') == 1 and rfm.get('M') == 1:
         member011 = member011 + 1
     elif rfm.get('R') == 1 and rfm.get('F') == 0 and rfm.get('M') == 1:
         member101 = member101 + 1
     elif rfm.get('R') == 0 and rfm.get('F') == 0 and rfm.get('M') == 1:
         member001 = member001 + 1
     elif rfm.get('R') == 1 and rfm.get('F') == 1 and rfm.get('M') == 0:
         member110 = member110 + 1
     elif rfm.get('R') == 0 and rfm.get('F') == 1 and rfm.get('M') == 0:
         member010 = member010 + 1
     elif rfm.get('R') == 1 and rfm.get('F') == 0 and rfm.get('M') == 0:
         member100 = member100 + 1
     elif rfm.get('R') == 0 and rfm.get('F') == 0 and rfm.get('M') == 0:
         member000 = member000 + 1


print("高价值MM:",member111)
print("重点保持MM:",member011)
print("重点发展MM:",member101)
print("重点挽留MM:",member001)
print("一般价值MM:",member110)
print("一般保持MM:",member010)
print("一般发展MM:",member100)
print("潜在MM:",member000)

输出结果:

高价值MM: 138
重点保持MM: 93
重点发展MM: 72
重点挽留MM: 56
一般价值MM: 107
一般保持MM: 52
一般发展MM: 578
潜在MM: 274

相关文章

  • Python3 & 统计固定指标的数量

    场景:有如下excel,规则:rValue>=17.45时,R=0,否则R=1fValue<=17.45时,F=0...

  • MongoDb知识点整理(二)

    分页查询统计数量#统计全部数量db.test.count()#统计特定条件的数量db.test.count({us...

  • 统计数量

    终于解套。 有口诀,底部放量要跟,跟错也要跟,很对。但是如何跟,在什么位置去跟? 这次在操作苏利有了经验,从放量再...

  • Mysql基本操作

    统计表的数量

  • Android API统计

    Android 4.4 API数量统计 Android 5.0 API统计 Android 6.0 API统计 A...

  • session聚合统计

    session聚合统计(统计出访问时长和访问步长,各个区间的session数量占总session数量的比例)如果不...

  • 统计单词数量

    sort 与 sorted 区别: sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进...

  • featureCounts 统计reads数量

    此前,介绍过在转录组分析过程中使用HTseq统计reads数量;HTseq统计reads数量。本次介绍一款速度较于...

  • HTseq统计reads数量

    HTseq使用python编写的一款用于基因Count表达量分析的软件,可根据SAM/BAM 以及gff文件得到基...

  • 统计文件数量

    原文链接:https://blog.csdn.net/mywmy/article/details/82773341...

网友评论

      本文标题:Python3 & 统计固定指标的数量

      本文链接:https://www.haomeiwen.com/subject/yhphqdtx.html