京东文胸数据分析

2023-10-24 07:10
文章标签 数据分析 京东 文胸

本文主要是介绍京东文胸数据分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前段时间我们抓取了京东商城上面的文胸数据,共计80万条,今天我们就来进行一次简单地分析。为了方便交流,我将大致的数据清洗流程一并给出。

我们首先导入必要的库。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
plt.rcParams['font.sans-serif'] = ['SimHei']

读取我们爬取到的数据,这次我们就以时间作为我们的索引,而不是默认的数字索引,事实上,一般来说,只要是我们的数据中带有时间字段,就会将时间作为我们的index索引。

df = pd.read_csv('jd_cup.csv',parse_dates=['creationTime'],index_col='creationTime')df.info()

1203446-20171108153505809-1289247599.png

可以看到,我们的数据大致上是80万条。

df.head()

1203446-20171108153910122-908909246.png

上面的表格中,分别是用户购物时候的客户端,用户购买的具体尺寸,商品的颜色和评价的内容。

最受女性喜爱的颜色分类。

我们首先来看一下颜色相关的内容,由于颜色信息各个商家标注存在不一致的情况,我们这里选取其中的颜色最多的10中颜色进行描述。

fig = plt.figure(figsize=(16,8))
ax = fig.add_subplot(121)plt.title('最受女性欢迎的颜色Top10占比')
df.productColor.value_counts()[:10].plot.pie(cmap=plt.cm.rainbow, autopct='%.2f')
plt.ylabel('数量')
plt.xlabel('颜色')ax2 = fig.add_subplot(122)
plt.title('最受女性欢迎的颜色Top10分布')
df.productColor.value_counts()[:10].plot.bar()plt.show()

1203446-20171108155207403-1069909030.png

从以上两幅图可以看出,肤色和黑色遥遥领先,我们的数据总量是80万,这两种颜色数量已经超过了20万,占比超过1/4,因为数据里面的颜色分类难免包括一些类肤色和类黑色的数据,但是写法却千奇百怪,因此我并没有把这一类归属于肤色和黑色,所以,如果用更长的时间来进行数据的清洗的话,这两种颜色的数量会更多。也许,每个女生都会有这么两种颜色的文胸吧。

尺寸分布情况

我们首先将罩杯和尺寸进行分离

df.productSize = df.productSize.astype(str)def size(x):if 'A' in x:return 'A'elif 'B' in x:return 'B'elif 'C' in x:return 'C'elif 'D' in x:return 'D'elif 'E' in x:return 'E'else:return Nonedf['size_A_E'] = df.productSize.apply(size)
df.head()

1203446-20171108155536091-1935453906.png

对罩杯进行描述性统计。

fig = plt.figure(figsize=(16,8))
ax1 = fig.add_subplot(121)plt.title('Cup占比')
plt.xlabel('数量')
plt.ylabel('尺寸')
df.size_A_E.value_counts(ascending=True).plot.barh()ax2 = fig.add_subplot(122)
df.size_A_E.value_counts(ascending=True).plot.pie(autopct='%.2f')
plt.show()

1203446-20171108160740341-324014938.png

以上数据显示,B罩杯的女性占据绝对优势,达55.29%,A罩杯的女性紧随其后,两者之和接近80%。

下面再来总体的看一下尺寸情况。

罩杯的尺寸分为两种,分别是中国尺寸和国际尺寸,两者有一定的对应关系,比如国标尺寸的32对应于国际尺寸的70,所以有了这样的对应关系,我们可以使用函数将其统一化,方便我们后续的使用。

inter_size = ['70', '75', '80', '85', '90']     # 国际尺寸
china_size = ['32', '34', '36', '38', '40']    # 中国尺寸cup_size = ['A', 'B', 'C', 'D', 'E']def parse_cup_size(x):pool = []for i in inter_size:for j in cup_size:pool.append(i+j)  for i in china_size:for j in cup_size:pool.append(i+j)     for size in pool:if size in x:return sizereturn None# 先替换国际尺寸
df['parse_cup_size'] = df.productSize.apply(parse_cup_size)# 进行国际和大陆的尺寸统一,统一为国际尺寸
df.parse_cup_size.fillna('忽略', inplace=True)
df.parse_cup_size.astype(str)import redef re_(x):x = re.sub('32', '70', x)x = re.sub('34', '75', x)x = re.sub('36', '80', x)x = re.sub('38', '85', x)x = re.sub('40', '90', x)return xdf['cup_result'] =  df.parse_cup_size.apply(re_)

这样的话,我们就将两种不同的尺寸规整化为一种尺寸了,上述的cup_result字段使我们最终需要的字段。

下面对这以整体进行统计。

parse_cup = df.cup_result.value_counts(ascending=False)
parse_cup.name = ''
del parse_cup['忽略']fig = plt.figure(figsize=(16,8))
ax = fig.add_subplot(121)plt.title('具体尺寸占比')
plt.xlabel('size')
plt.ylabel('number')
parse_cup[:10].plot.bar()ax2 = fig.add_subplot(122)
parse_cup[:10].plot.pie(autopct='%.2f')plt.show()

1203446-20171108162300950-1435752023.png

就具体尺寸而言,75B这一款占比超过30%。

客户端占比情况

为了对客户端情况进行分析,我们首先对数据进行预处理,将多余的字符去除。

df['userClientShow'] = df['userClientShow'].fillna('未知')
# 定义替换函数,pandas默认的replace方法只能完全匹配
def my_replace(x):x = x.replace('来自', '').replace('京东', '')return x
df.userClientShow = df.userClientShow.apply(my_replace)cli = df.userClientShow.replace('未知', None)plt.figure(figsize=(10,10))
clients = df.userClientShow.value_counts(ascending=False)
type(clients)
del clients['未知']
clients.name = ''plt.title('京东购物客户端占比')
clients.plot.pie(autopct='%.2f')
plt.show()

1203446-20171108162830059-334005312.png

以安卓和ios数量最多,这个倒是意料之中,微信的总体占比也是客观的,毕竟腾讯也是京东的第一大股东。

用户等级分布
df.userLevelName.value_counts(ascending=False)
plt.figure(figsize=(15,8))
plt.title('京东用户等级分布情况')
plt.xlabel('等级')
plt.ylabel('数量')
df.userLevelName.value_counts(ascending=False).plot.bar()# color='#333F2D'
plt.savefig('等级.jpg')
plt.show()

1203446-20171108163051591-1797217693.png

时间的分布情况

之前我们提到,如果索引中带有时间字段,那么一般会将索引设置为时间,事实上,时间是一个非常重要的数据,我们将日期作为索引,并不是忽略他的意义,而是为嘞更好的进行分析。

我们可以通过时间看出用户购买商品的一个整体分布。

df['label'] = 1
group_ = df.groupby(df.index.hour)time_ = group_['label'].sum()plt.figure(figsize=(15,8))
plt.subplot(111)
plt.title('时间分布')
plt.xlabel('时间')
plt.ylabel('数量')
time_.plot.bar()time_.plot(xlim = [-0.5,24 ], color='r')plt.savefig('时间.jpg')
plt.show()

1203446-20171108163631919-765630119.png

从以上的图标可以看出,用户在购买文胸时,峰值出现在上午的10点和晚上的9点,至于原因么,上午的时间点,可能是在等着下班,而晚上---

评论的词云信息
df.content = df.content.astype(str)# 对评论进行词频统计 
import jieba
from wordcloud import WordCloud
import PILraw_text = ' '.join(list(df.content))
result = []def parse():for word in jieba.cut(raw_text):if len(word) > 1:result.append(word)def wordcloudplot(data, file_name):                   path = 'msyh.ttf'alice_mask = np.array(PIL.Image.open('yuan.jpg'))wordcloud = WordCloud(font_path=path,background_color="white",margin=5,     width=1000, height=800,mask=alice_mask, max_words=1000, max_font_size=100,random_state=42)wordcloud = wordcloud.generate(data)   wordcloud.to_file(file_name)plt.imshow(wordcloud)plt.axis("off")plt.show()parse()
text = ' '.join(result)
wordcloudplot(text, 'wordcloud.jpg')

1203446-20171108164350809-965295544.jpg

转载于:https://www.cnblogs.com/cnkai/p/7463569.html

这篇关于京东文胸数据分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/273533

相关文章

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

Python:豆瓣电影商业数据分析-爬取全数据【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】

**爬取豆瓣电影信息,分析近年电影行业的发展情况** 本文是完整的数据分析展现,代码有完整版,包含豆瓣电影爬取的具体方式【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】   最近MBA在学习《商业数据分析》,大实训作业给了数据要进行数据分析,所以先拿豆瓣电影练练手,网络上爬取豆瓣电影TOP250较多,但对于豆瓣电影全数据的爬取教程很少,所以我自己做一版。 目

京东物流查询|开发者调用API接口实现

快递聚合查询的优势 1、高效整合多种快递信息。2、实时动态更新。3、自动化管理流程。 聚合国内外1500家快递公司的物流信息查询服务,使用API接口查询京东物流的便捷步骤,首先选择专业的数据平台的快递API接口:物流快递查询API接口-单号查询API - 探数数据 以下示例是参考的示例代码: import requestsurl = "http://api.tanshuapi.com/a

win7下安装Canopy(EPD) 及 Pandas进行python数据分析

先安装好canopy,具体安装版本看自己需要那种,我本来是打算安装win764位的,却发现下载总是出现错误,无奈只能下载了32位的! https://store.enthought.com/downloads/#default 安装好之后,参考如下连接,进行检验: 之后再根据下面提供的连接进行操作,一般是没问题的! http://jingyan.baidu.com/article/5d6

「大数据分析」图形可视化,如何选择大数据可视化图形?

​图形可视化技术,在大数据分析中,是一个非常重要的关键部分。我们前期通过数据获取,数据处理,数据分析,得出结果,这些过程都是比较抽象的。如果是非数据分析专业人员,很难清楚我们这些工作,到底做了些什么事情。即使是专业人员,在不清楚项目,不了解业务规则,不熟悉技术细节的情况下。要搞清楚我们的大数据分析,这一系列过程,也是比较困难的。 我们在数据处理和分析完成后,一般来说,都需要形成结论报告。怎样让大

结合Python与GUI实现比赛预测与游戏数据分析

在现代软件开发中,用户界面设计和数据处理紧密结合,以提升用户体验和功能性。本篇博客将基于Python代码和相关数据分析进行讨论,尤其是如何通过PyQt5等图形界面库实现交互式功能。同时,我们将探讨如何通过嵌入式预测模型为用户提供赛果预测服务。 本文的主要内容包括: 基于PyQt5的图形用户界面设计。结合数据进行比赛预测。文件处理和数据分析流程。 1. PyQt5 图形用户界面设计

使用AI大模型进行企业数据分析与决策支持

使用AI大模型进行企业数据分析与决策支持已成为现代企业管理的重要趋势。AI大模型凭借其强大的数据处理能力和智能分析功能,能够为企业提供精准、高效的数据分析服务,进而支持企业的决策过程。以下是使用AI大模型进行企业数据分析与决策支持的具体方式和优势: 一、AI大模型在数据分析中的应用 超级数据处理能力 海量数据处理:AI大模型能够同时处理海量数据,包括结构化数据、非结构化数据等,满足企业大规模

AIGC与数据分析融合,引领商业智能新变革(TOP企业实践)

AIGC与数据分析融合,引领商业智能新变革(TOP企业实践) 前言AIGC与数据分析融合 前言 在当今数字化时代,数据已成为企业发展的核心资产,而如何从海量数据中挖掘出有价值的信息,成为了企业面临的重要挑战。随着人工智能技术的飞速发展,AIGC(人工智能生成内容)与数据分析的融合为企业提供了新的解决方案。 阿里巴巴作为全球领先的科技公司,一直致力于探索和应用前沿技术,以提升企业

技术培训 | 大数据分析处理与用户画像实践|预告

主题: 大数据分析处理与用户画像实践 时间: 5 月 11 日 20:00 —— 21:30 地点: QingCloud 技术分享群,文末有二维码。 讲师: 孔淼 诸葛io 创始人 & CEO 90 后连续创业者,曾任 37degree CTO ,在任 37degree CTO 期间,孔淼曾带领团队服务 CCTV 、海尔、聚美优品、宝马等知名企业,对大数据分析的技术与行业有深厚的理解

用ACF和PACF计算出一堆数据的周期个数以及周期时长,数据分析python

具体步骤 1使用ACF和PACF:可以通过查看ACF图中的周期性峰值,找到数据中的周期性。如果ACF图在某个滞后期处出现显著的正相关峰值,并且这种模式在多个滞后周期中重复出现,这就是周期性信号的特征。而PACF则可以帮助确定延迟的直接影响。 2找周期数和周期长度:周期的时长可以通过ACF中第一个显著的峰值(排除滞后期为0时的峰值)来确定,而周期的个数则可以通过分析整个序列中的周期性重复次数来估计