数据分析实战 | Pandas交叉列表探寻用户数下降的原因

商业数据分析实战(酒卷隆志/里洋平)——第四章案例 B—交叉列表统计什么样的顾客会选择离开 商业数据分析实战(酒卷隆志/里洋平)——第4章案例 B—交叉列表统计什么样的顾客会选择离开    案例提要:社交游戏的用户流失分析    和上月相比,本月《黑猫拼图》游戏的用户数减少了很多,和上月相比,本月的商业宣传和月度活动并无大的变化。因此,我们需要调查用户数大量减少的原因并改善这种状况,我们该怎么做呢? 文章目录商业数据分析实战(酒卷隆志/里洋平)——... 阅读详情

大家好,我是丁小杰。

本篇是《数据分析实战》系列第二篇,案例来源为《数据分析实战》一书,书中使用的是 R 语言,接下来一段时间,我会用 Python + Tableau 尽可能的将案例复现出来,以供大家学习。

场景描述

某公司经营的一款 APP 小游戏,游戏的用户数一直维持在一定的水平。然而,从 9 月开始,用户数开始大量减少。根据以往经验尝试做出如下假设。

  • 商业推广上存在问题,流失的用户数超过了新增的用户数
  • 每月不同主题的游戏活动开始变得很无聊,用户都不爱玩了
  • 按用户的性别或者年龄段等属性来划分用户群,可能是其中某个用户群出现了问题

经了解发现

  • 同上月相比,商业推广的力度大体没变,新增用户数也大致保持在相同的水平
  • 开展的各种游戏活动同上月相比几乎没有变化

因此,只剩下第 3 条假设没能得到验证了。再进一步深挖假设的内容,可以知道用户群通常是按照 性别 、年龄段 等来划分的。于是,首先我们可以考虑是否有某个属性的用户群数量减少了,然后通过和上月的数据加以比较,确认用户数量减少了的用户属性,并思考如何恢复用户数量。

注:由于无法事先猜测问题出现的原因,而是需要通过数据分析来探索原因所在,这种方式称为“探索型数据分析”。

数据描述

DAU(Daily Active User)

每天至少来访 1 次的用户数据,139112 行。

字段类型含义
log_datestr访问时间
app_namestr应用名
user_idnumpy.int64用户 ID
user_info

用户属性数据

字段类型含义
install_datastr首次使用日期
app_namestr应用名称
user_idnumpy.int64用户 ID
genderstr性别
generationnumpy.int64年龄段
device_typestr设备类型

数据分析

数据读取

读取两个数据集。

import pandas as pd

DAU_data = pd.read_csv('DAU.csv')
user_data = pd.read_csv('user_info.csv')

显示 DAU 数据集前五行。

DAU_data.head()

显示 user_data 数据集前五行。

user_data.head()

将 DAU 与 user_data 以 user_id 为 key 进行合并,取交集。

all_df = DAU_data.merge(user_data, on=['user_id', 'app_name'])
all_df.head()

修改,新增列。

列名修改前修改后
genderF/M女/男
generation1010-19
新增 log_month2013-08-018 月
import numpy as np

all_df['gender'] = all_df['gender'].replace({'F':'女','M':'男'})
all_df['generation'] = all_df['generation'].apply(lambda x:str(x) + '-' + str(x + 9))
all_df['log_month'] = pd.to_datetime(all_df['log_date']).map(lambda x : x.strftime("%m")[1] + '月'
用户性别分析

统计两月中男女用户的人数,看看性别比例是否相差较大。

all_df.pivot_table(index='log_month',
                   columns='gender',
                   values='user_id',
                   aggfunc=np.count_nonzero)

从上表来看,虽然整体上用户数量在较少,但性别比例没有很大变化。因此,用户数量减少的主要原因并不是某一性别用户大量减少。

用户年龄段分析

统计各个年龄段用户数量的变化情况。

all_df.pivot_table(index='log_month',
                   columns='generation',
                   values='user_id',
                   aggfunc=np.count_nonzero)

无论哪个年龄段,用户的比例都没有发生大的变化。

用户性别&年龄段分析

进一步细分,看看是否某个性别下某个年龄段的用户数量减少了,下面我们将性别和年龄段组合起来,形成 2 重交叉列表统计。

all_df.pivot_table(index='log_month',
                   columns=['gender','generation'],
                   values='user_id',
                   aggfunc=np.count_nonzero)

同样的,每个用户群所占的比例基本不变,没有用户群数量大幅减少的情况。

用户设备

最后一个维度,统计用户使用的设备差异。

all_df.pivot_table(index='log_month',
                   columns='device_type',
                   values='user_id',
                   aggfunc=np.count_nonzero)

根据上表,明显看到使用 Android 的用户大量减少。

下面我们以天为单位,详细看看两种设置使用用户的变化情况。

通过上图,可以看到,Android 的用户数从 9 月 13 日开始急剧减少。

那么下一步就是弄清楚 Android 手机端出现的问题,并制定相应的改善策略,使用户数量回到和上月相同的水平,这里就不详细展开了。

这就是今天要分享的内容,我们下期再见!

案例参考

[1]《数据分析实战》 [日] 酒卷隆志 里洋平/著 肖峰/译


对于刚入门 Python 或是想要入门 Python 的小伙伴,可以通过下方小卡片联系作者,一起交流学习,都是从新手走过来的,有时候一个简单的问题卡很久,但可能别人的一点拨就会恍然大悟,由衷的希望大家能够共同进步。另有整理的近千套简历模板,几百册电子书等你来领取哦!

👇🏻 关注小卡片,回复“交流群”,一起学习Python👇🏻
Python数据分析实战:从数据清洗到建模预测的完整竞赛解决方案 数据科学的核心在于将原始数据转化为可操作的洞见,其基础流程通常包括数据预处理、探索性分析和统计建模。在Python生态中,pandas和numpy提供了高效的数据操作能力,而scikit-learn和statsmodels则分别覆盖了机器学习与统计推断两大方向。这些工具的价值在于能够系统化地解决现实问题,例如在健康数据分析、金融风控或用户行为研究等场景中量化变量关系并预测趋势。本文以数学建模竞赛为背景,通过关联性分析和回归建模等具体技术,展示了如何利用Python完整实现从数据清洗到模型验证的全流程,其中缺 阅读详情

相关推荐

Pandas 透视表和交叉表

透视表和交叉表都是在数据分析中用于汇总和分析数据的工具,它们背后的数学原理有些类似,但也有一些不同之处。文末附有ppt

m_main的博客 2277

pandas分组分析:GroupBy和pandas交叉分析:pivot_table/crosstab【学习记录】

pandas分组分析 分组分析: 根据分组字段,将分析对象划分成不同的部分,以对比分析各组之间差异性的分析方法; 分组分析常用的统计指标是计数、求和、平均值等。 grouby语法: groupby(by=[分组列1,分组列2,…]) [统计列1,统计列2,…] .agg({统计列别名1:统计函数1,统计列别名2:统计函数2,…}) pandas交叉分析 交叉分析: 通常用于分析两个或两个以上分组变量之间的关系,以交叉表形式进行变量间关系的对比分析; 从

usouvenir的博客 1598

告别混乱代码!在Arduino IDE中管理多文件项目的5个必备技巧

本文分享了在Arduino IDE中管理多文件项目的5个必备技巧,帮助开发者告别混乱代码。通过代码分割和模块化设计,提升编译效率、降低内存占用,并实现功能解耦。重点介绍了头文件设计、CPP文件实现、调试技巧和工业级目录结构,让你的Arduino项目像乐高积木一样清晰易维护。

fun88的博客 360

【python数据分析12】——Pandas统计分析(创建透视表与交叉表)

数据透视表是数据分析中常见的工具之一,根据一个或多个键值对数据进行聚合,根据行或列的分组键将数据划分到各个区域。在pandas中,除了可以使用groupby对数据分组聚合实现透视功能外,还提供了更为简单的方法——透视表与交叉表。

zhejie666的博客 1874

海外最新AI营销AI销售书籍推荐AI营销培训讲师AI销售培训讲师人工智能营销培训师人工智能销售培训师AI赋能营销培训AI赋能销售培训企业AI营销内训企业AI销售内训AI营销课程讲师AI销售课程讲师

专栏|AI营销与AI销售实战 · 第46期在这个人类与算法共舞的时代,销售,已经不是你我熟悉的那个“打电话、见客户、做PPT”的老行当了。你还以为销售是“打感情牌”?错了,情感要继续,但方式已经升级。你还以为AI只是“写写文案”?错了,文案只是皮毛,真正的杀器,是思维方式的重构,是认知地图的重绘。首先,我们需要明确一个事实:AI并不会消灭销售这个职业,但它必然会重新定义销售的本质。在销售领域,真正的制胜之道不是简单地采用AI工具,而是的能力。

Akibfrycc的博客 1100

【C++】 详解 lower_bound 和 upper_bound 函数(看不懂来捶我!!!)

这两个函数是我在 LeetCode 上做题见到,看到不熟悉的函数 lower_bound 和 upper_bound让我感觉很难受,于是在C++ 官网去学习,例子就一个是最基础的,我看明白了。虽然是两个函数的接口就两个,但是有时候看别人使用的时候,里面参数还可以放不同的仿函数,我懵逼了。就去网上搜,但是大家讲解的都是它的第一个接口。我只能再把文档一遍一遍过,代码一遍遍的尝试,调试。最终通过查阅资料将其总结如下。

weixin_45031801的博客 9万+

Pandas数据分析15——pandas数据透视表和交叉表

pandas数据框的透视,交叉表,融合和堆叠等操作。

weixin_46277779的博客 3275

从光斑图到锤形优化:一次搞定Zemax双胶合透镜的像散与场曲问题

本文详细解析了Zemax双胶合透镜设计中像散与场曲问题的诊断与优化方法。从光斑图分析到锤形优化技巧,提供了完整的光学设计实战指南,帮助设计师快速定位问题并有效改善系统性能,特别适合光学设计工程师和Zemax使用者参考。

weixin_27134495的博客 231

黄河水沙监测数据分析:从EDA到机理模型构建的实战指南

时间序列分析与数据建模是处理复杂监测数据的核心技术。其原理在于通过统计方法与机器学习算法,挖掘数据中的时序依赖、趋势与关联规律,从而将杂乱数据转化为可解释的模型。这项技术的价值在于能够支撑预测、决策与机理发现,广泛应用于水文、气象、金融等领域的动态系统分析。在具体实践中,面对如黄河水沙监测这类具有强物理背景的时空数据,需要将探索性数据分析与领域机理深度融合。通过Mann-Kendall趋势检验、滞后效应分析等方法洞察数据特征,并构建从统计幂函数到SARIMA、LSTM乃至机理辅助的灰箱模型体系。本文以黄河水

weixin_33794672的博客 503

Springer期刊LaTeX模板中参考文献格式选择与编译错误的快速修复指南

本文针对Springer期刊LaTeX模板中参考文献编译后显示问号的常见问题,提供了快速修复指南。核心在于正确选择并配置与期刊匹配的参考文献格式文件(.bst),并执行标准的四步编译流程。文章详细解释了问题根源,并给出了从查找正确.bst文件到修改代码、执行编译的完整解决方案,帮助作者高效解决投稿中的技术障碍。

weixin_29266007的博客 401

华为使用MicroG安装并使用Google服务教程

鉴于众多华为手机用户因无法使用Google服务而感到不便,我经过多次摸索和测试,总结了一份简单易懂的教程,希望能够帮助到大家。无论是需要使用Google Play商店下载应用,还是需要使用Google服务进行工作和学习,本文将详细介绍如何在华为手机上安装并使用Google服务。二、前置条件软件要求:Aurora Store(替代Google Play商店)、MicroG Companion、MicroG Server(替代Google框架)

weixin_41926602的博客 3万+

Python机器学习:从零基础到项目实战

当您翻开此书,您正踏入一场数据与智慧的修行。机器学习,并非冰冷的符码,而是机器模拟人类洞察世界的法门。本书将带您,以Python为舟,泛游于算法之海。我们不只传授“术”,更探求其后的“道”——从数据的生灭流转中观照规律,于模型的迭代演进里体悟得失。愿您合上书卷时,收获的不仅是驾驭数据的技能,更有一双洞悉复杂、化繁为简的“智慧之眼”。现在,让我们一同启程。

YunWisdom 966

stm32f103c8t6+esp8266在WiFi下通过手机控制外设

stm32f103c8t6+esp8266在WiFi下通过手机控制外设前言 前言 通过上一篇,介绍了esp8266的基本功能,这篇将用stm32c8t6配合esp8266进行数据交互,实现用手机通过无线的方式去控制外设、开关等;这里相当于把stm32作为上一篇的串口助手和esp8266进行通信; ...

weixin_45430735的博客 1万+

基于Arduino的加湿器效率测定系统:从传感器到数据分析

在智能家居和环境监测领域,量化设备性能是工程实践的核心。通过传感器采集物理量数据,结合微控制器进行实时处理与分析,是实现设备效能评估的基础方法。其技术价值在于将主观感知转化为客观指标,为产品验证和优化提供数据支撑。这一原理广泛应用于家电性能测试、工业过程监控等场景。本文以加湿器效率测定为例,详细介绍了如何利用Arduino平台,整合称重传感器和温湿度传感器,构建一套完整的“输入-输出”量化测量系统。项目涉及HX711模块与SHT31传感器的选型与应用,通过同步采集水量消耗与环境湿度变化数据,结合Python

weixin_30500473的博客 409

《Cesium 基础知识点》- 申请 Cesium Ion 密钥

一、访问 https://cesium.com/ion/signin/tokens 二、登录/注册 三、申请 四、使用 // 密钥 let defaultAccessToken = 'your token string'; // 设置 Cesium.Ion.defaultAccessToken = defaultAccessToken; // 初始化 let viewer = new Cesium.Viewer('cesiumContainer', {}); ...

前端技术 2570

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

从假设检验到逻辑回归:用统计学方法诊断电商转化率异常

在数据科学和机器学习领域,统计学方法作为数据分析的基石,通过严谨的数学框架量化不确定性,为决策提供概率性依据。其核心原理在于利用假设检验、回归分析和时间序列模型,从数据中提取可靠信号。在工程实践中,这种方法的价值在于其可解释性和对业务问题的直接映射,能够有效区分随机波动与系统性变化。典型的应用场景包括商业指标监控、A/B测试评估和因果推断。本文以电商转化率波动分析为例,深入探讨了如何运用双样本比例检验、逻辑回归等工具,结合探索性数据分析和结果解释,构建一套完整的、可落地的异常诊断方案,帮助从业者夯实数据驱动

weixin_30493401的博客 351

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

典型相关分析(CCA)原理与Python实战:从多元变量关联到数学建模应用

在多元统计分析中,探究两组变量之间的整体关联是一个核心问题。典型相关分析(Canonical Correlation Analysis, CCA)正是解决这一问题的经典方法,其原理在于寻找两组多元变量各自的最优线性组合,使得组合后的两个综合变量(即典型变量)之间的相关系数最大化。这项技术的价值在于能够超越简单的两两相关分析,揭示变量组之间多维、协同的变化模式,为理解复杂系统的内在结构提供有力工具。在工程实践与数据分析领域,CCA广泛应用于金融、生物信息学、心理学和市场研究等场景,用于挖掘如宏观经济指标与股市

weixin_33770878的博客 386

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

数据竞赛实战:从城市健康问题拆解到面板模型分析全流程

在数据科学和公共政策分析领域,面板数据分析是一种处理时间序列与横截面混合数据的关键方法,它能够控制个体异质性,更准确地估计变量间的因果关系。其核心原理在于利用固定效应或随机效应模型,剥离不随时间变化的个体特征影响,从而聚焦于变量随时间变化的净效应。这项技术的价值在于,它能基于观测数据,为复杂社会问题(如环境对健康的影响)提供接近因果推断的实证证据,广泛应用于经济学、流行病学、社会学等研究。在具体应用场景中,例如评估空气污染对居民健康的影响,研究者需要整合多源数据(如环境监测、社会经济统计、健康指标),进行严

weixin_30298497的博客 452

Python深度学习:从入门到实战

亲爱的读者,欢迎您翻开这本书。我们即将探索的,是深度学习的宇宙——一个由数据、算法与算力构筑的奇妙世界。它既是严谨的科学,也是创造的艺术,更是一条通往未来智慧的修行之路。本书将带您从最基础的数学原理出发,亲手搭建神经网络,驾驭Transformer等前沿模型,最终将智慧转化为现实世界的价值。请放下畏惧,保持好奇。这不仅是一次知识的学习,更是一场思维的远行。来,随我一起,开启这趟非凡的旅程吧。

YunWisdom 162

数学建模国赛实战指南:高频模型选型与72小时高效应用流程

在数据分析与科学决策领域,数学模型是解决预测、优化、评价等复杂问题的核心工具。其原理在于通过数学抽象与算法构建,将现实问题转化为可计算、可求解的形式,从而量化分析规律、预测趋势或寻找最优解。掌握常用模型的应用逻辑与选型方法,对于提升解决实际工程与科研问题的效率至关重要。本文聚焦于数学建模竞赛这一典型的高压实战场景,深入剖析了时间序列分析、回归模型、层次分析法、线性规划、机器学习等高频模型的应用时机与避坑要点,并系统梳理了从问题解析、数据预处理到模型验证的标准化工作流程,旨在为面临复杂问题决策与数据分析需求的

leonard61306500的专栏 395

数学建模实战:多元分析核心方法与应用全解析

多元统计分析是处理多变量、高维度数据的核心方法论,它通过探究变量间的内在关联与结构,为复杂系统分析提供理论框架。其基本原理在于利用降维、分类和关联分析等技术,从看似杂乱的数据中提取关键信息。这一技术的核心价值在于能够将海量指标转化为少数具有明确意义的综合因子,从而实现对研究对象的科学评价、精准分类和关系挖掘。在工程实践与科研领域,多元分析被广泛应用于综合评价、市场细分、模式识别和探索性数据分析等场景。本文聚焦于数学建模竞赛,深入剖析主成分分析、因子分析、聚类分析、判别分析和典型相关分析等核心方法,并结合【主

chuannaoxuan4674的博客 438
上一篇: 分享10个Python绘制圣诞树的源码,拿来即用
下一篇: 4K壁纸批量采集,张张精品,全程自动化
Dream丶Killer
Dream丶Killer 优质创作者: python技术领域 优质创作者: python技术领域
博客等级 码龄8年 7万+粉丝 187原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dream丶Killer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值