python数据清洗–对双十一淘宝直播流量数据进行数据真实性验证

  • Post author:
  • Post category:python




数据集:

某年双十一淘宝直播数据,共有6张表,如下:

每日场均每小时流量趋势对比.xlsx

每日总流量趋势(近30天).xlsx

行业流量趋势(近30天).xlsx

总流量排行(近30天).xlsx

达人排行榜日榜20211111.csv

达人排行榜周榜20211108-20211114.csv



操作:

import pandas as pd
import numpy as np
data_1=pd.read_excel('/home/mw/input/zbsj2025/每日场均每小时流量趋势对比.xlsx')
data_2=pd.read_excel('/home/mw/input/zbsj2025/每日总流量趋势(近30天).xlsx')
data_3=pd.read_excel('/home/mw/input/zbsj2025/行业流量趋势(近30天).xlsx')
data_4=pd.read_excel('/home/mw/input/zbsj2025/总流量排行(近30天).xlsx')
data_5=pd.read_csv('/home/mw/input/zbsj2025/达人排行榜日榜20211111.csv',encoding='gbk')
data_6=pd.read_csv('/home/mw/input/zbsj2025/达人排行榜周榜20211108-20211114.csv',encoding='gbk')



一、数据探查

1.1初步数据探查

data_1.info()
data_2.info()
data_3.info()
data_4.info()
data_5.info()
data_6.info()

在这里插入图片描述

data_1.head()
data_2.head()
data_3.head()
data_4.head()
data_5.head()
data_6.head()

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

初步探查结论

1.data_1到data_4的数据无缺失值
2.data_1到data_2存在着某种计算关系,有拆分清洗的潜力
3.data_3到data_4存在着某种计算关系,有拆分清洗的潜力
4.data_5(日榜),data_6(周版)在info()中shape一致,对比在head()中的观察,周榜和日榜的观看人数列的数据比例与粉丝数、点赞数、观看次数等列的数据比例不一致,
    推测1: 周榜数据是一周的平均值数据
    推测2: 在达人中的所有数据是某一时刻的爬取数据,而非官方给与的统计数据
    推测3: dirty的直播平台,通过后台操作来扭曲真实数据,存在某个临时工划水出错
5.data_5,data_6的数据无拆分清洗的潜力,有对比验证本项目所有数据集的潜力



二、data_1,data_2的深入探查与清洗

2.1对date列进行统计

data_1.groupby(by='date').count().shape
data_2.groupby(by='date').count().shape

在这里插入图片描述

在这里插入图片描述

2.2对category_name进行分组聚合

data_1.groupby(by='category_name').count()
data_2.groupby(by='category_name').count()

在这里插入图片描述

在这里插入图片描述

小结:

1.data_1和data_2某些数据存在*24的关系
2.data_1和data_2的可拆分的依据是category_name

2.3 拆分category_name成为独立列

data_1

# 统计出category_name要拆分的数量
Index_1=data_1.groupby(by='category_name').count().index
# 通过对data_1进行数据抽取与整合生成所需数据
data_1_use=data_1[data_1['category_name']==Index_1[0]][['date','value']]
data_1_use.columns=['date',Index_1[0]]
for i in Index_1[1:]:
    a=data_1[data_1['category_name']==i][['date','value']]
    a.columns=['date',i]
    data_1_use=data_1_use.merge(a,on='date')
data_1_use.info()

在这里插入图片描述

data_2

# 统计出category_name要拆分的数量
Index_2=data_2.groupby(by='category_name').count().index
# 通过对data_2进行数据抽取与整合生成所需数据
data_2_use=data_2[data_2['category_name']==Index_2[0]][['date','value']]
data_2_use.columns=['date',Index_2[0]]
for i in Index_2[1:]:
    a=data_2[data_2['category_name']==i][['date','value']]
    a.columns=['date',i]
    data_2_use=data_2_use.merge(a,on='date')
data_2_use.info()

在这里插入图片描述

2.4 保存数据

data_1_use.to_csv('每日的平均小时流量数据.csv')
data_2_use.to_csv('每日总流量数据.csv')



三.data_3,data_4的深入探查与清洗

data_3:行业流量趋势(近30天).xlsx

data_4:总流量排行(近30天).xlsx

data_3.groupby(by='type').count()

在这里插入图片描述

a_1=data_3.groupby(by='channel_name').count()/data_3.groupby(by='type').count().shape[0]
a_1

在这里插入图片描述

a_2=data_4.groupby(by='channel_name').count()
a_2

在这里插入图片描述

# 查看数据差异
[i for i in a_1.index if i not in a_2.index] #查看行业数据里面有的类目而总数据里面没有的类目
['吃喝玩乐', '家乡好货', '旅行优选', '汽车嗨购', '游戏直播', '金融', '附近']

小结:

1.总流量数据缺失: 在行业分类上出现了类和数量不对应的关系,data_3与data_4无法建立准确的对应关系

2.可进行数据处理,筛选出共有的行业分类进行数据分析



四.data_5,data_6的深入探查

4.1 行业分类对比

a_1=data_5.groupby(by='行业分类').count().index
a_2=data_6.groupby(by='行业分类').count().index
[i for i in a_1 if i not in a_2]

在这里插入图片描述

4.2 序号、排名对比

data_5[data_5['序号']!=data_5['排名']]
data_6[data_6['序号']!=data_6['排名']]

在这里插入图片描述

4.3同主播ID筛选对比

a=data_5.merge(data_6,on='播主昵称')
b=pd.DataFrame(a['粉丝数_y']-a['粉丝数_x'],columns=['粉丝(周-日)'])
b['点赞(周-日)']=a['点赞数_y']-a['点赞数_x']
b['观看次数(周-日)']=a['观看次数_y']-a['观看次数_x']
b['观看人数(周-日)']=a['观看人数_y']-a['观看人数_x']
b[b['粉丝(周-日)']<0].shape

:(54, 4)

b[b['点赞(周-日)']<0].shape

:(0, 4)

b[b['观看次数(周-日)']<0].shape

:(0, 4)

b[b['观看人数(周-日)']<0].shape
:(458, 4)

小结

通过data_5,data_6对比,粉丝和观看人数出现逆反现象

原因推测

1.在观看人数和粉丝上出现了退订的情况
2.数据没有记录到同一个账号
3.消费者自觉受到欺骗
4.有dirty的数据操作

4.4数据保存

data_5.drop(columns='序号').to_csv('达人日榜20211111.csv')
data_6.drop(columns='序号').to_csv('达人周榜20211108-20211114.csv')

五、结论

总结:

1.data1-data4数据无缺失值,data5-6行业分类有缺失

2.data1-data2可依据category_name 进行拆分,某些数据可进行数量计算

3.data3-data4的category_name出现了类的不一致,无法建立准确的对应关系

4.data5和6的shape和info相同,进行对比分析,发现数据趋势,粉丝和观看人数出现逆反现象