经常有猎头来问,有没有电商的数据分析经验,我们想要有电商经验的候选人。

其实电商的数据分析一点也不难,由于数据都在线上产生,所以数据收集和清洗的工作大大简化了。

拿到一个数据集,我们来一起分析一下:


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')

淘宝用户行为分析_python

是不是数据很规整?我们先来查下空值:

淘宝用户行为分析_python_02

只有user_geohash有空值,完美。

接下来通过time列得出日期和时间:

淘宝用户行为分析_python_03

再来看下每列数据的类型:

淘宝用户行为分析_运营_04

time和date列是对象类型,我们要把它们改成datetime类型,还要把hour列改成int:

淘宝用户行为分析_python_05

我们把数据按照日期进行排序,使用sort_values:

淘宝用户行为分析_运营_06

好了,重头戏来了,开始计算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'})

淘宝用户行为分析_python_07

接下来作图:

淘宝用户行为分析_运营_08

每个小时的情况是怎么样的呢:


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'})

淘宝用户行为分析_运营_09

同样的,作图:

淘宝用户行为分析_运营_10

还可以按照不同的行为类型进行分类:

淘宝用户行为分析_python_11

作图:

淘宝用户行为分析_运营_12

你能从图中得出什么结论呢?