经常有猎头来问,有没有电商的数据分析经验,我们想要有电商经验的候选人。
其实电商的数据分析一点也不难,由于数据都在线上产生,所以数据收集和清洗的工作大大简化了。
拿到一个数据集,我们来一起分析一下:
import pandas as pd
import numpy as np
%matplotlib inline
import matplotlib.pyplot as plt
import seaborn as sns
data_user=pd.read_csv(r'/Users/fangluping/Desktop/
淘宝用户行为分析/tianchi_mobile_recommend_train_user.csv')
是不是数据很规整?我们先来查下空值:
只有user_geohash有空值,完美。
接下来通过time列得出日期和时间:
再来看下每列数据的类型:
time和date列是对象类型,我们要把它们改成datetime类型,还要把hour列改成int:
我们把数据按照日期进行排序,使用sort_values:
好了,重头戏来了,开始计算pv和uv,就是电商行业中常说的页面访问量和活跃用户量。没接触过就不知道,做过一次你就懂了,一点也不难。代码收好,拿走不谢:
pv_daily=data_user.groupby('date')['user_id'].count().reset_index().rename(columns={'user_id':'pv'})
uv_daily=data_user.groupby('date')['user_id'].apply(lambda x:x.drop_duplicates().count()).reset_index().rename(columns={'user_id':'uv'})
接下来作图:
每个小时的情况是怎么样的呢:
pv_hour=data_user.groupby('hour')['user_id'].count().reset_index().rename(columns={'user_id':'pv'})
uv_hour=data_user.groupby('hour')['user_id'].apply(lambda x:x.drop_duplicates().count()).reset_index().rename(columns={'user_id':'uv'})
同样的,作图:
还可以按照不同的行为类型进行分类:
作图:
你能从图中得出什么结论呢?