手机销量分析案例

项目背景

  • 某电商商城随着业务量的发展,积累了大量的用户手机销售订单数据。决策层希望能够通过对这些数据的分析了解更多的用户信息及用户的分布,从而可以指导下一年的市场营销方案以及更加精准的定位市场,进行广告投放。

数据说明

  • 数据时间从 2017.01.01至2019.03.31 共41800 条,数据存储在 excel 文件 中(Phone.xlsx)。

import pandas as pd

data = pd.read_excel('./Phone.xlsx')

data.head()

data.shape

(41800, 20)

  • 查看缺失数据的个数和占比

#查看缺失数据

for col in data.columns:

null_count = datacol.isnull().sum()

if null_count > 0:

p = str(null_count / datacol.size * 100)+'%'

print(col+':'+p)

年:100.0%

月:100.0%

年龄段:100.0%

  • 缺失值处理

data'年' = data'订单日期'.dt.year

data'月' = data'订单日期'.dt.month

#数据分箱:

#0-16,17-26,27-36,37-49

data'年龄段' = pd.cut(data'年龄',bins=0,16,26,36,49)

  • 查看消费者对不同手机品牌的青睐程度

#查看不同品牌手机的累计销量和累计销售额,且对累计销量进行降序

data.groupby(by='品牌')\['销售额','数量'].sum().sort_values('数量',ascending=False)

  • 查看不同品牌的不同型号数量

p_count_list = \[\] #品牌名称和品牌型号的数量

for p in data'品牌'.unique():

#可以将p表示品牌的行数据

p_df = data.locdata\['品牌' == p]

p_count = p_df'型号'.nunique() #品牌对应不同型号的数量

p_count_list.append(p,p_count)

pd.DataFrame(p_count_list,columns='品牌','型号数量')

#分组聚合

data.groupby(by='品牌')'型号'.nunique()

#分类汇总

data.pivot_table(index='品牌',values='型号',aggfunc='nunique')

  • 查看不同品牌中价格最高和最低的型号是什么

data.groupby(by='品牌','型号')'价格'.agg('max','min')

  • 查看不同月份的销量情况,哪些月份销量比较高

data.groupby(by='月')'数量'.sum().sort_values(ascending=False)

月

3 16582

1 16420

2 15561

12 11060

5 11026

7 10987

11 10960

8 10884

4 10863

10 10833

6 10733

9 10644

Name: 数量, dtype: int64

  • 不同年龄段的购买力

data.groupby(by='年龄段')'数量'.sum().sort_values(ascending=False)

年龄段

(16, 26] 74573

(26, 36] 68910

(0, 16] 1758

(36, 49] 1312

Name: 数量, dtype: int64

  • 查看不同省份不同城市的购买力情况

data.pivot_table(index='省份名字','城市名字',values='数量',aggfunc='sum').sort_values('数量',ascending=False)

  • 查看不同品牌的不同机身内存的订单量(只考虑订单量,不考虑一个订单中包含几个已购商品)

pd.crosstab(index=data'品牌',columns=data'机身内存')

内容来源于大数据分析课程。

相关推荐
“AI国潮设计-小江”2 分钟前
【AIGC实战】Python+SDXL批量生成“潮汕英歌舞不倒翁”IP | 角色一致性与多场景融合方案,附完整代码
开发语言·人工智能·python·prompt·aigc
Linux_cy11 分钟前
服务器管理工具哪个好用?我用了七八个
运维·服务器·javascript·python·ssh·面板·gmssh
MoRanzhi120318 分钟前
第6篇(下)· 使用 PyQt5 实现 2048 高性能计算版:统一运行控制与跨模式安全交接
python·pyqt·进程管理·状态机·软件架构·并发控制·数据一致性
code tsunami36 分钟前
【无标题】
开发语言·python
CodeGL1 小时前
10、Python基础之进程和线程
开发语言·python
wulechun2 小时前
基于YOLO算法的自定义数据集训练实战:TommyZihao开源项目深度解析与全流程使用指南
智能手机
TechWayfarer2 小时前
PHP漏洞被利用,怎么揪出攻击IP?
开发语言·python·tcp/ip·网络安全·php
2601_967980113 小时前
Python列表操作方法详解
python·数据类型·修改·列表操作·功能汇总
Patrick在香港3 小时前
台风在变少,来香港的没有
python·数据分析·香港·开放数据·热带气旋
qq_406981034 小时前
大白话rust系列09 函数调用两次有什么错?
开发语言·python·rust