关键词:
数据分析;项目;Python;numpy;pandas;SQL;Mysql;
前言
本篇分析报告为巩固所学知识,内容详尽,为各位热衷于数据分析的小伙伴提供参考。
简洁的报告文将另起一篇。
本文分析基础的数据集来源:天池数据
该数据集是阿里巴巴官方公开的淘宝用户行为历史数据,用于反馈推荐问题的研究
本数据集包含了2017年11月25日至2017年12月3日之间,有行为的约一百万随机用户的所有行为(行为包括点击、购买、加购、喜欢)。数据集的每一行表示一条用户行为,由用户ID、商品ID、商品类目ID、行为类型和时间戳组成,并以逗号分隔。关于数据集中每一列的详细描述如下:
行为类型(Behavior type)共有四种,分别是
pv
数据集大小的一些说明如下
1.2.1 随机抽取
鉴于计算机硬件原因,分析实用数据将从原数据集不放回随机抽样2%的数据,约为200W条。
并查看数据信息
以新文件名UserData导出为新CSV:
1.2.2 数据观察
笔者本想通过Excel观察数据集UserData,但是有以下两个问题:
1.Excel处理行数存在上限,打开CSV文件不完全,打开时间缓慢
2.虽然不可以导入全部数据,但也可以观察到UserData数据集出现需删除的首列,且缺少标题值
因此笔者将直接借用Pandas修改数据集,代码如下:
数据展示如下:
1.2.3 数据格式修整
首先删除首列序号:
设置列索引名
修改后:
保存:
1.2.4 导入Mysql
首先创建名为datauser的数据库,这里使用Mysql命令行创建
接下来为了方便选择,采用图形交互界面workbench创建表,命名为taobaodata。
不幸的是创建完表后,导入数据发现数据集有很多大问题。
一是pandas导出发现数据集首行为char型的索引名,所以需要重读和重导设置参数header=False,不保存首行,也可以加上index=False。
其二是复制十行做测试的时候发现,excel保存UTF-8 会自带Bom文件,即首行首个字段会带不可见字符 :/FEFE ,所以,需要下载 notepad++ 将其格式保存为UTF-8。
其三,打开csv文件会发现其每行的字段间的分隔符是‘,’所以需将其按逗号分隔,且每行按换行符' '分隔,代码如下:
其四,还有个注意的地方是,一开始还有'%secure_file_priv%'的权限问题,查找工具书设置好就行。(将另写文章)