data[‘hour’] = data[‘time’].map(lambda x:x.split(’ ')[1])
data[‘date’]=pd.to_datetime(data[‘date’])
data[‘hour’] = data[‘hour’].astype(‘int32’)
data.head()
data.dtypes
可以看到目前date和Hour的类型已经成功转换,符合我们的预期,查看表格中是否有空数据,并查看一下表格的量
data.isnull().sum()
data.shape
可以看到数据中并没有空数据,数据的规模在1000万左右,分为6列,依次为用户id、商品id、用户行为类型、时间。其中用户行为类型中1代表点击(当做pv),2代表collect(收藏),3代表cart(加入购物车)数据较为完整,不需要继续进行清洗,对数据进行分析
五、数据分析
- 流量指标分析:流量指标是指用户在某一个网站操作的每一个步骤记录的指标,埋点数据,PV是指其浏览量,UV代表独立访客数,访问深度代表每个独立访客的浏览量,页面跳出率 则是指浏览某个页面离开的次数/这个页面的全部访问次数
1、不同时间下PV、UV的流量变化情况
1)每天的PV、UV变化情况
- 首先计算一下总流量
总PV值=数据条数
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import os
data.shape[0]
总流量为12256906,在计算一下日平均流量、日平均独立访客数
##日PV
pv_daily = data.groupby([‘date’])[‘user_id’].count().reset_index().rename(columns={‘user_id’:‘pv_daily’})
pv_daily.head()
- 日平均独立访客数与日平均流量的区别在于要进行去重
##日UV
uv_daily = data.groupby([‘date’])[‘user_id’].apply(lambda x:x.drop_duplicates().count()).reset_index().rename(columns={‘user_id’:‘uv_daily’})
uv_daily.head()
s=uv_daily[‘uv_daily’]
pv_daily[‘uv_daily’]