首页 > 编程知识 正文

TGI指数分析,百度指数中的TGI是什么意思

时间:2023-05-03 06:38:19 阅读:236559 作者:2157

import pandas as pdimport numpy as npdata = pd.read_excel(r'C:UsersibmDownloadsTGI指数案例数据.xlsx')print(data.shape)#2. 获取交易成功的数据量:mask = data['订单状态']=='交易成功'successful_deal_df = data.loc[mask, :]"""1. 计算用户平均支付金额:2. 基于用户支付金额,判断用户是属于低客单还是高客单: (客户总消费金额 cost, cost>55:高客单, cost<55:低客单)3. 用透视表的方法来统计每个省市低客单、高客单人数4. 计算总人数,以及每个城市对应的高客单占比;5. 思考分析结果是否合理?"""#==1. 计算用户平均支付金额===============================================================#(1).一个客户下了2个订单: 两个人;#(2) 一个客户下多个订单,算一个人;#(1)人数:people_num = successful_deal_df['买家昵称'].drop_duplicates().sizeprint(successful_deal_df.dtypes)#(2)平均消费金额:average_payment = successful_deal_df['实付金额'].sum() / people_numprint(average_payment)#========================================================================================# 2. 基于用户支付金额,判断用户是属于低客单还是高客单:# (客户总消费金额 cost, cost>55:高客单, cost<55:低客单)groubpy_maijia = successful_deal_df.groupby(by='买家昵称')['实付金额'].sum().reset_index()#(1)方法一:bool 切片赋值:# mask1 = groubpy_maijia['实付金额']<55# mask2 = groubpy_maijia['实付金额']>=55# groubpy_maijia.loc[mask1, "买家状态"] = '低客单'# groubpy_maijia.loc[mask2, "买家状态"] = '高客单'# print(groubpy_maijia)#(2)方法二: transform + 自定义函数groubpy_maijia['客户分类'] = groubpy_maijia['实付金额'].transform(lambda x: '低客单' if x < 55 else '高客单')#==================================================================================================================# 3. 用透视表的方法来统计每个省市低客单、高客单人数#(1)将客户分类表添加省与市:# print(groubpy_maijia.shape)right = successful_deal_df.drop_duplicates(subset='买家昵称')concat_df = pd.merge(groubpy_maijia, right=right, on='买家昵称', how='left')#(2)透视表:pivot_df = pd.pivot_table(concat_df, index=['省份', '城市'], columns='客户分类', values=['买家昵称'], aggfunc=np.size,margins=True)print(pivot_df)#===================================================================================================# 4. 计算总人数,以及每个城市对应的高客单占比;# 高客单占比 = 高客单数/单个城市总客单数# print((pivot_df['买家昵称']['高客单'] / pivot_df['买家昵称']['All']).sort_values(ascending=False).head(10))#5. 思考分析结果是否合理?(不合理,原因部分地区的客流量很少,数据不具有代表性)# 选择条件进行筛选:# (1)各地高客单/ 全国总高客单数# print(pivot_df.head())gaokedan_num = pivot_df.loc['All', ('买家昵称', '高客单')].values[0]print(((pivot_df['买家昵称']['高客单']) / gaokedan_num).sort_values(ascending=False))

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。