python黑色星期五_Python数据分析:亚马逊黑色星期五
数据源:https://www.kaggle.com/mehdidag/black-fridaywww.kaggle.com
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib as mlp
import matplotlib.pyplot as plt
import os
print(os.listdir("../input"))
# 直接在Kaggle写的,直接搬下来
# 读取数据
df = pd.read_csv('../input/BlackFriday.csv')
# 查看简要信息
df.info()
df.shape
# 观察数据形状
df.describe()
# 着重可关注销售额的数据分布
由上可见,共有12列,共3种数据类型
df.head(5)
# 可见,在product_category_2和product_category_3存在NaN值
1. 提出问题
在黑色星期五,是什么类型的人会花更多钱 ?
* 男性、女性 ?
* 年龄
* 是否已婚
2. 数据清洗
1) 空值处理
# 确认哪列是空值
df.isna().any()
在Product_Category_2和Product_Category_3存在空值,可以先看看这两列分别有什么值,直接用.unique() 函数更清晰。
print('Product_Category_2',df['Product_Category_2'].unique())
print('Product_Category_3',df['Product_Category_3'].unique())
# 获知两列的值都是浮点数float,为保留原数据的意思,用 '0' 代替空值NaN
df.fillna(value=0,inplace=True)
#由上数据我们可以看到,虽然类目2,3的源数据都是浮点数显示,但是数值实际是整数,我们可以用整数来代替。
df['Product_Category_2'] = df['Product_Category_2'].astype(int)
df['Product_Category_3'] = df['Product_Category_3'].astype(int)
#通过替代后,输出结果
print('Product_Category_2',df['Product_Category_2'].unique())
print('Product_Category_3',df['Product_Category_3'].unique())
2) 移除无用列
df.drop(columns = ["User_ID","Product_ID"],inplace=True)
df.info()
#移除后,我们可以重新再看看数据 'User_ID' 'Product_ID'
3. 数据可视化分析
1) 男性和女性
从以下的图标来看,似乎男性是这次黑色星期五的“主力军”。
sns.countplot(df['Gender'])
2) 年龄层
容易看到,年龄在26-35岁的,贡献出最多的销售额,其实估计也容易推测,这个年龄段的消费者, 他们存在未婚或没有小孩需要照顾的,私人时间更多,并且很多人已经在职场有一段时间,工作技能娴熟,稳定,收入自然也更可观。
sns.countplot(df['Age'])
# 实际上还可以这样表示:df.Age ,但为了减少出错,这样的表述方式更好 []
3.1) 性别和年龄层
另外,我们可以进一步分析在黑色星期五购物时不同年龄段的性别之间的关系。
sns.countplot(df['Age'],hue=df['Gender'])
3.2) 性别/婚姻状况 和 年龄层
我们可以通过更近一部分析,占据消费力主导的男性中,在不同的年龄层里面,有多少是已婚的。以实现以上需求,我们可以通过新建一列‘conbined_G_M’ ,该列是把 "性别“ 和“婚姻状况” 结合在一起,如 ‘F_0'
df['combined_G_M']=df.apply(lambda x:'%s_%s' % (x['Gender'],x['Marital_Status']),axis=1)
print(df['combined_G_M'].unique())
sns.countplot(df['Age'],hue=df['combined_G_M'])
3.3) 已婚和未婚的销售额占比分析
fig, ax = plt.subplots(figsize=(7,7))
# 设置统计图框架
plt.pie(df.groupby('Marital_Status')['Purchase'].sum(),labels=('Married','Unmarried'),autopct='%1.1f%%')
综上图我们可以看出,已婚市场的潜力要稍比未婚市场的潜力大;0-17岁之前没有存在已婚的人士,这点结合伦理来看,数据在这方面表现正常;除了55岁+的以外,所有年龄层未婚男性的花费都比已婚男性的消费力高,而女性则除了在46岁+以外,其他任何时候的未婚女性都比已婚女性的购买能力强。
4) Age and City
① 以计算各城市的销售数量占比
A城的市民在“黑五”中购买了最多的商品
fig, ax = plt.subplots(figsize=(7,7))
plt.pie(df['City_Category'].value_counts(), labels=df['City_Category'].unique(),autopct='%1.1f%%')
② 以计算各城市的销售金额占比
C城的市民为“黑五”贡献的销售额最多
fig, ax = plt.subplots(figsize=(7,7))
plt.pie(df.groupby('City_Category')['Purchase'].sum(), labels = df['City_Category'].unique(),autopct='%1.1f%%')
④ 最后,看城市分布与年龄的关系分析
易见,在各个城市中,依然是26-35岁作为消费主力
fig, ax = plt.subplots(figsize=(12,7))
sns.countplot(df['City_Category'],hue=df['Age'])
最后
关于本章的python数据分析知识点归纳在这里,有兴趣的朋友可以看看。慷先森:Python数据分析黑色星期五-知识点整理zhuanlan.zhihu.com
python黑色星期五_Python数据分析:亚马逊黑色星期五相关推荐
- python实现食品推荐_Python分析亚马逊赞不绝口食物评论
1.背景: 本文是来源于Kaggle平台的亚马逊50多万条食物评论的数据集.此数据集采集时间跨度有十余年,直到2012年十月份共计有56万多条评论信息. 这些信息由食品产品号.用户信息.评分和评价文本 ...
- python爬虫如何爬亚马逊_Python爬取当当、京东、亚马逊图书信息代码实例
注:1.本程序采用MSSQLserver数据库存储,请运行程序前手动修改程序开头处的数据库链接信息 2.需要bs4.requests.pymssql库支持 3.支持多线程 from bs4 impor ...
- 《Python程序设计》在亚马逊京东当当互动出版网淘宝全面上架
<Python程序设计>(董付国编著,清华大学出版社,2015年8月,普通高等教育"计算机类专业"规划教材)已在亚马逊.京东.当当.互动出版网全面上架,淘宝上也有哦,在 ...
- 使用Python+OpenCV+FaceNet 实现亚马逊门铃系统上的人脸识别
作为一个新的亚马逊门铃的买家,我喜欢它提供的炫酷功能.然而,我认为我可以做一些改进.我需要的是为住在我家的人定制的门铃.要是门铃能认出是谁在敲门就好了.看到门铃是多么的受欢迎,我决定帮助大多数家庭,最 ...
- python爬虫|爬取亚马逊商品库存数据(Selenium实战)
前言 很多人把selenium爬虫称之为可视化爬虫,之所以这样认为,主要在于selenium爬虫主要是模拟人的点击操作,而selenium驱动浏览器并进行操作的过程是可以观察到的.换言之,就是你在看着 ...
- python学习 爬取亚马逊网页,失败后。修改HTTP报文头部后成功!
通过修改HTTP报文头部,来成功获取网页内容! python import requests r = requests.get("https://www.amazon.cn/gp/produ ...
- 智科专业大二时候的python课程设计:亚马逊数据集股票分析
股票分析课程设计要求:(笔者的实验验收基本都是优) 数据集我免费上传在资料区了! 由于实验是大二时候做并验收的了,一些记忆记得有些模糊,具体处理过程如下: 编程环境:jupyter-lab(anaco ...
- 足不出户买遍全球:亚马逊海外购启动史上最长“海外购物节”
亚马逊海外购今日宣布正式启动第六届"海外购物节".自2014年亚马逊中国成功举办了国内首个以跨境购物为主题的"海外购物节",并通过亚马逊海外购首次将亚马逊黑色星 ...
- 亚马逊海外购 “真黑五”全球狂欢 推出“巅峰6天”钜惠风暴
2019年11月14日,北京--即日起,第六届亚马逊"海外购物节"正式进入"真黑五"全球狂欢高潮阶段,以"真全球"和"真同步&qu ...
最新文章
- android shape 自定义,Android自定义shape的使用
- 微软100题第20题
- wordpress url index.php,WordPress对URL的路由解析过程详解
- 背景色透明,里面内容(图片、文字)不透明
- python textrank_TextRank算法提取文本摘要
- java 按回车键查询
- FreeRTOS入门知识(教你快速入门)
- android 签名工具 autoSign jarsigner
- 如何选择合适的字体:宋体篇
- ActiveMQ 无法访问管理页面
- fiftyone安装使用亲测
- TensorFlow使用GPU
- 记录用retinaNet执行DDSM代码中的问题(求精度的过程中出现的错误)
- STM32不能进入睡眠模式
- 微软蓝牙鼠标卡顿问题解决
- C语言中,头文件和源文件的关系(转)
- 题解 CF38C 【Blinds】
- CORDIC算法收敛性证明
- Android studio Chipmunk 新的gradle规则变更
- 获取大多数在线视频FLV地址