前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >A轮公司数据分析面试经验

A轮公司数据分析面试经验

作者头像
开心鸭
发布2020-10-26 14:34:25
8800
发布2020-10-26 14:34:25
举报
文章被收录于专栏:开心鸭数据分析

Part. 1 介绍

最近疫情参加了线上面试,面试官给了一个csv数据集。

数据字段含义:

item_id: 商品ID;

shop_id: 店铺ID;

insert_time: 更新时间;

volume: 月销量;

cprice: 实际价格

任务:(分别使用SQL和python代码完成)

1、找出一天内有多次更新的商品ID

2、对于一天内有多次更新的商品,只保留当天最后一条记录,去掉其他记录

3、分析商品的最后更新时间分布,看能否得出有价值结论

Part. 2 SQL方法:

数据格式化

代码语言:javascript
复制
alter table taobao_data add 日期 date;
update taobao_data set 日期=cast(insert_time as date);
alter table taobao_data add 精准日期 datetime;
update taobao_data set 精准日期=cast(insert_time as datetime);

当我将cvs导入MySQL的时候发现日期他是varchar形式的,所以要用cast函数进行格式转换。因为2,3题需要计算当天的指标,所以我们日期格式化的时候要加上以天为单位的日期。

第一题:

代码语言:javascript
复制
select item_id,日期,count(item_id) as 修改量
from
taobao_data 
GROUP BY 日期,item_id
having 修改量>=2
ORDER BY 修改量 desc

一天内更新多次的记录也就是数据是>1 或者是>=2 两种写法都可以,顺序是先按照每天日期分组,再按照item_id,也就是商品分组。比如说1月8号为一组,在这组里面再以某个商品为一组,就可以count出他一天的交易量。

第二题:

代码语言:javascript
复制
delete from taobao_data
where 精准日期=
(select 精准日期
from 
(select item_id,row_number() over (partition by item_id,日期 order by 精准日期 desc) as 排序,精准日期
from
taobao_data
where item_id in
(select item_id
from taobao_data 
GROUP BY 日期,item_id
having count(item_id)>=2
)
)a
where 排序 >1
)

这题写的复杂,应该有效率更高的写法。

思路:顺延第一题,找出一天内修改多次的数据,因为只有这些数据需要删除。之后按照窗口函数,先对item分组再对日期分组,之后按照精准日期就是具体哪一秒的时间进行排序,下图查询结果可以看到,按照降序后的结果最新的日期会排在第一位,所以我们直接进行where 排序>1 筛选即可,然后删除。

第三题:

导出到Excel进行透视表操作:

得出结论:发现在24点和22点是更新商品的高峰期。

  • 猜测可能根据店铺下单量在晚上的时候降低的数据,卖家认为在这个时间段去修改宝贝不会造成用户看到的宝贝详细和实际内容不符合导致用户误解
  • 猜测对于店铺人员不多,那么初步推测店铺人员在上班的过程当中是充当客服的角色,所以白天上班是没有机会和时间去更新商品内容的,所以选择夜晚修改宝贝
  • 考虑到卖家修改时间集中在夜晚,为了不影响卖家休息,建议开发定时修改宝贝模块

Part. 3 Python方法

导入数据,日期格式化:

第一题:

直接用groupby,计算count,在筛选>1即可

第二题:

用rank方法可以实现SQL的 窗口函数,对day和itemid分组,在进行insert_time排序,然后row_number<2 也就是等于1的保留,因为这条数据是当天最新数据。

第三题:

转换成小时,导入matplotlib 进行绘图,结论同上。

这次的面试题题目是顺承关系,起到提示作用,所以比较友好。主要还是涉及到SQL和pandas库的基本操作。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Part. 1 介绍
  • 最近疫情参加了线上面试,面试官给了一个csv数据集。
  • Part. 2 SQL方法:
  • 数据格式化
  • 第一题:
  • 第三题:
  • Part. 3 Python方法
  • 导入数据,日期格式化:
  • 第一题:
  • 这次的面试题题目是顺承关系,起到提示作用,所以比较友好。主要还是涉及到SQL和pandas库的基本操作。
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档