python营业数据分析_基于pandas python的美团某商家的评论销售(数据分析)
数据初步的分析
本文是该系列的第一篇 数据清洗 数据初步的统计
from pyecharts import Bar,Pie
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import time
df=pd.read_excel("all_data_meituan.xlsx")
df.head(2)
anonymous
avgPrice
comment
commentTime
dealEndtime
did
menu
picUrls
quality
readCnt
replyCnt
reviewId
star
userId
userLevel
userName
userUrl
zanCnt
0
False
73
还行吧,建议不要排队那个烤鸭和羊肉串,因为烤肉时间本来就不够,排那个要半小时,然后再回来吃烤...
1525875708515
1.530338e+09
44328533
单人午晚餐
[{'id': -1445845615, 'url': 'http://p0.meituan...
True
25434
0
1674208634
40
291754497
1
q哈哈哈qq
https://img.meituan.net/avatar/92de6ba9a330efe...
2
1
False
73
去过好几次了 东西还是老样子 没增添什么新花样 环境倒是挺不错 离我们这也挺近 味道还可以 ...
1527853291658
1.530338e+09
44328241
2人午晚餐
[{'id': -1429563625, 'url': 'http://p0.meituan...
False
7293
0
1693519286
40
829297130
2
love勇往直前
https://img.meituan.net/avatar/095e2339acd2e50...
0
df['avgPrice'].value_counts()
# 同一家店的均价应该为同一个数值,所以这列数据没多大的意义
73 17400
Name: avgPrice, dtype: int64
df['anonymous'].value_counts()
# 匿名评价与实名评价的比例大致在5:1左右
False 14402
True 2998
Name: anonymous, dtype: int64
def convertTime(x):
y=time.localtime(x/1000)
z=time.strftime("%Y-%m-%d %H:%M:%S",y)
return z
df["commentTime"]=df["commentTime"].apply(convertTime)
df["commentTime"].head()
0 2018-05-09 22:21:48
1 2018-06-01 19:41:31
2 2018-04-04 11:52:23
3 2018-05-01 17:12:22
4 2018-05-17 16:48:04
Name: commentTime, dtype: object
# 在excel可以用筛选器直接看到这列中的数据含有缺失值,或者在拿到数据的时候,使用df.info() 查看每列的数据信息情况
df['dealEndtime'].isna().value_counts()
# 这列数据中含有177个缺失值,其余完整
False 17223
True 177
Name: dealEndtime, dtype: int64
df['commentTime']=pd.to_datetime(df['commentTime'])
df1 = df.set_index('commentTime')
df1.resample('D').size().sort_values(ascending=False).head(100)
df1.resample('M').size().head(1000)
commentTime
2017-08-31 7
2017-09-30 4
2017-10-31 53
2017-11-30 359
2017-12-31 2466
2018-01-31 4169
2018-02-28 2759
2018-03-31 2490
2018-04-30 2754
2018-05-31 2199
2018-06-30 140
Freq: M, dtype: int64
# 处理数据前需要先处理缺失值
# 订单结束时间清洗
df['dealEndtime'].fillna(method='ffill').apply(lambda x:time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(x))).head()
0 2018-06-30 14:00:00
1 2018-06-30 14:00:00
2 2018-06-30 14:00:00
3 2018-06-30 14:00:00
4 2018-06-30 14:00:00
Name: dealEndtime, dtype: object
df['menu'].dropna().astype('category').value_counts()
2人午晚餐 7640
单人午晚餐 3920
学生专享午晚自助 2638
4人午/晚自助 1581
单人下午自助烤肉 639
6人午/晚自助 507
周一至周五自助烤肉/周六日及节假日自助烤肉2选1 209
单人午/晚自助 67
周一至周五自助烤肉,免费WiFi 22
Name: menu, dtype: int64
df['readCnt'].corr(df['star'])
# 评论阅读书与客户评价分数高低的相关性
0.05909293203205019
df[(df["menu"]=="2人午晚餐")]['star'].value_counts()
40 2704
50 2072
30 2002
20 533
10 329
Name: star, dtype: int64
df[(df["menu"]=="单人午晚餐")]['star'].value_counts()
30 1215
40 1208
50 1093
20 298
10 106
Name: star, dtype: int64
# 学生专享午晚自助
df[(df["menu"]=="学生专享午晚自助")]['star'].value_counts()
40 954
50 863
30 529
20 191
10 101
Name: star, dtype: int64
df[(df["menu"]=="4人午/晚自助")]['star'].value_counts()
50 536
30 432
40 414
10 131
20 68
Name: star, dtype: int64
df[(df["menu"]=="单人下午自助烤肉")]['star'].value_counts()
30 208
50 169
40 144
10 98
20 20
Name: star, dtype: int64
df[(df["menu"]=="6人午/晚自助")]['star'].value_counts()
50 245
40 142
30 112
10 8
Name: star, dtype: int64
#周一至周五自助烤肉/周六日及节假日自助烤肉2选1
df[(df["menu"]=="周一至周五自助烤肉/周六日及节假日自助烤肉2选1")]['star'].value_counts()
50 87
40 66
30 46
20 10
Name: star, dtype: int64
df[(df["menu"]=="单人午/晚自助")]['star'].value_counts()
50 30
40 27
30 10
Name: star, dtype: int64
df[(df["menu"]=="周一至周五自助烤肉,免费WiFi")]['star'].value_counts().reindex(range(10,51,10)).fillna(0)
10 0.0
20 0.0
30 0.0
40 0.0
50 22.0
Name: star, dtype: float64
# df.groupby(['menu','star']).size().to_excel("all_menu_star.xls")
df.groupby(['menu','star']).size()
menu star
2人午晚餐 10 329
20 533
30 2002
40 2704
50 2072
4人午/晚自助 10 131
20 68
30 432
40 414
50 536
6人午/晚自助 10 8
30 112
40 142
50 245
单人下午自助烤肉 10 98
20 20
30 208
40 144
50 169
单人午/晚自助 30 10
40 27
50 30
单人午晚餐 10 106
20 298
30 1215
40 1208
50 1093
周一至周五自助烤肉/周六日及节假日自助烤肉2选1 20 10
30 46
40 66
50 87
周一至周五自助烤肉,免费WiFi 50 22
学生专享午晚自助 10 101
20 191
30 529
40 954
50 863
dtype: int64
df.groupby(['star','menu',]).size()
star menu
10 2人午晚餐 329
4人午/晚自助 131
6人午/晚自助 8
单人下午自助烤肉 98
单人午晚餐 106
学生专享午晚自助 101
20 2人午晚餐 533
4人午/晚自助 68
单人下午自助烤肉 20
单人午晚餐 298
周一至周五自助烤肉/周六日及节假日自助烤肉2选1 10
学生专享午晚自助 191
30 2人午晚餐 2002
4人午/晚自助 432
6人午/晚自助 112
单人下午自助烤肉 208
单人午/晚自助 10
单人午晚餐 1215
周一至周五自助烤肉/周六日及节假日自助烤肉2选1 46
学生专享午晚自助 529
40 2人午晚餐 2704
4人午/晚自助 414
6人午/晚自助 142
单人下午自助烤肉 144
单人午/晚自助 27
单人午晚餐 1208
周一至周五自助烤肉/周六日及节假日自助烤肉2选1 66
学生专享午晚自助 954
50 2人午晚餐 2072
4人午/晚自助 536
6人午/晚自助 245
单人下午自助烤肉 169
单人午/晚自助 30
单人午晚餐 1093
周一至周五自助烤肉/周六日及节假日自助烤肉2选1 87
周一至周五自助烤肉,免费WiFi 22
学生专享午晚自助 863
dtype: int64
df.groupby(['star','menu',]).size()[50]
menu
2人午晚餐 2072
4人午/晚自助 536
6人午/晚自助 245
单人下午自助烤肉 169
单人午/晚自助 30
单人午晚餐 1093
周一至周五自助烤肉/周六日及节假日自助烤肉2选1 87
周一至周五自助烤肉,免费WiFi 22
学生专享午晚自助 863
dtype: int64
# userId
# 这家店铺有好多回头客,万万没想到
df[df['userId']!=0]['userId'].value_counts().head(40)
266045270 64
152775497 60
80372612 60
129840082 60
336387962 60
34216474 60
617772217 60
82682689 54
287219504 49
884729389 45
868838851 40
409054441 40
86939815 40
776086712 40
48597225 40
111808598 40
240199490 40
83068123 40
298504911 40
1042639014 40
912472277 40
98198819 40
1494880345 40
152930400 40
139581136 40
404183587 40
714781743 40
292809386 40
18111538 40
1097689674 40
300905323 40
232697160 40
141718492 40
879430090 40
696143486 40
13257519 40
983797146 40
911947863 40
993057629 40
494215297 40
Name: userId, dtype: int64
df[df['userName']!="匿名用户"]['userName'].value_counts().head(40)
xuruiss1026 64
vTF610712604 60
siisgood 60
么么哒我是你聪叔 60
黑发飘呀飘 60
始于初见的你 60
jIx325233926 60
yumengkou 54
Daaaav 49
梁子7543 45
SzX539077433 40
小虎儿2001 40
清晨cxh98 40
安然~轩 40
hiP499857883 40
滨海之恋33 40
小匴盤 40
oev575457132 40
Mqg827794346 40
onr243685128 40
TBKLZJ 40
nXu534267448 40
aYH197128794 40
天蛟Wing 40
热带鱼7697 40
18669978087 40
ree177064067 40
Bbl141819414 40
西山仙踪 40
张齐齐123 40
yue国光123 40
joF498901567 40
qDK538313823 40
Nqr695642404 40
pHO437742850 40
FQe845913598 40
leeman666888 40
kingd123 40
榴莲馅月饼 40
Mvo148723747 40
Name: userName, dtype: int64
df.groupby(['star','userLevel',]).size()
star userLevel
10 0 187
1 139
2 164
3 193
4 80
5 10
20 0 223
1 88
2 304
3 294
4 207
5 21
30 0 1147
1 405
2 1057
3 1230
4 570
5 165
6 20
40 0 870
1 432
2 1360
3 1751
4 1026
5 261
6 25
50 0 698
1 386
2 1167
3 1670
4 802
5 318
6 130
dtype: int64
df.groupby(['userLevel','star']).size()
userLevel star
0 10 187
20 223
30 1147
40 870
50 698
1 10 139
20 88
30 405
40 432
50 386
2 10 164
20 304
30 1057
40 1360
50 1167
3 10 193
20 294
30 1230
40 1751
50 1670
4 10 80
20 207
30 570
40 1026
50 802
5 10 10
20 21
30 165
40 261
50 318
6 30 20
40 25
50 130
dtype: int64
df['zanCnt'].value_counts()
0 16422
1 652
2 143
3 119
8 20
6 20
4 20
5 4
Name: zanCnt, dtype: int64
python营业数据分析_基于pandas python的美团某商家的评论销售(数据分析)相关推荐
- python概率随机数_基于概率python的随机数
嗨,我已经做了研究,我相信当我在这个线程结束时,我的方向是正确的:Basically my question is: what is the code in the link doing line b ...
- 利用Python对美团某商家的评论销售进行数据分析
####导入相关库 from pyecharts import Bar,Pie import pandas as pd import numpy as np import matplotlib.pyp ...
- 基于pandas python sklearn 的美团某商家的评论分类(文本分类)
基于pandas python sklearn 的美团某商家的评论分类(文本分类) 美团店铺评价语言处理以及分类(NLP) 第一篇 数据分析部分 第二篇 可视化部分, 本文是该系列第三篇,文本分类 主 ...
- 数据分析:基于Pandas的全球自然灾害分析与可视化
数据分析:基于Pandas的全球自然灾害分析与可视化 问题描述 处理流程 数据预处理 数据提取 按主要类别与年份统计灾害数 统计每类灾害影响的人数 统计从1990到2021年的每类灾害造成的死亡人数 ...
- 基于python的房地产数据分析_基于Python的数据分析
转载 | CSDN 编辑 | 雷课小雷 下面来介绍一下基于Python的数据分析,主要介绍数据分析的概念.数据分析流程.Python优势.常用模块的用途以及使用Python进行数据分析的学习方法及步骤 ...
- python根据频率画出词云_利用pandas+python制作100G亚马逊用户评论数据词云
原标题:利用pandas+python制作100G亚马逊用户评论数据词云 数据挖掘入门与实战 公众号: datadw 我们手里面有一个差不多100G的亚马逊用户在购买商品后留下的评论数据(数据格式为j ...
- 利用python进行数据分析_资料 | 利用Python进行数据分析
下载地址:https://www.yanxishe.com/resourceDetail/1443?from=leiphonecolumn_res0518 以下内容节选自豆瓣: 内容简介 · · · ...
- python 估值模型_基于Python的客户价值细分模型(RFM)
RFM模型:是衡量客户价值和客户创利能力的重要工具和手段.在众多的客户关系管理(CRM)的分析模式中,RFM模型是被广泛提到的.该机械模型通过一个客户的近期购买行为(recency).购买的总体频率( ...
- python爬虫表格table_Python基于pandas爬取网页表格数据
以网页表格为例:https://www.kuaidaili.com/free/ 该网站数据存在table标签,直接用requests,需要结合bs4解析正则/xpath/lxml等,没有几行代码是搞不 ...
最新文章
- Nginx+Tomcat动静分离搭建
- linux离线安装docker教程,Linux 离线安装docker的过程
- 常用器件选型——电源篇
- DBMS_SPACE包的使用
- Mysql笔记——DML
- 【技巧】Chrome应用技巧
- android+证书存储,Firefox for Android是否使用设备证书存储?
- vscode 插件慢_VS Code下配置LaTeX编译环境
- ubuntu安装linux deepin,Ubuntu 13.04安装Linux Deepin特色软件
- 列向量互信息计算通用MATLAB代码
- [leetcode]Two Sum @ Python
- lighttpd,nginx,apache的性能负载比较
- C# try-catch-finally 语句异常的类型
- 委托的定义,与简单使用
- 图解约瑟夫环(C语言实现)
- 99se.PCB技术大全
- 积木式移动互联网App Hybrid框架-modular的使用(1)
- Vue实例化对象挂载到元素上的方法
- win11开机后输入法无法使用
- Google VR开发-Cardboard VR SDK反畸变实现
热门文章
- k8s 证书过期解决
- 北京林业大c语言程序设计考试试题,2016年北京林业大学信息学院程序设计语言、数据结构(上机操作)复试笔试最后押题五套卷...
- [转]明朝出了个张居正 作者:秋风浩荡 -7
- directdraw overlay 和flip及blt的区别
- puppeteer开发中Evaluation failed: ReferenceError: __awaiter is not defined 报错处理
- 光功率 博科交换机_华为交换机查看光功率的方法请大神指教
- Flatten()详解
- 单片机控制LCD1602显示英文句子
- Spring Boot 集成 Swagger2,构建强大的 API 文档
- Tableau收购慕尼黑工业大学(TUM)开发的高性能数据库系统HyPer