抖音大V数据分析

  提取码:8828 (本文用到的文件)

  • import numpy as np
    import pandas as  pd
    from pandas import Series,DataFrame
    import  matplotlib.pyplot as plt
    import seaborn as sns
    # 让图形在控制台打印出来
    
    %matplotlib inline
  • douyin = pd.read_csv("douyin.csv")
    douyin.columns
    #显示抖音前10条数据
    douyin.head(10)

  • douyin['gender']

  • #显示抖音的性别
    douyin.loc[3:50,"gender"]

  • #显示性别的数据分布
    #douyin.gender.value_counts()
    douyin['gender'].value_counts()

  • douyin.info()
    

  • gender=douyin.gender.replace(to_replace={"未知":"0"})
    # 抖音大v账号性别分布
    gender.value_counts().plot(kind="bar")

  • # 切换为 seanborn 绘图模式
    sns.set()
    sns.countplot(x=gender)
  • # 看一下网红主要分布的国家
    douyin.country.value_counts()

  • country = douyin.country.replace(to_replace={"China":"中国",
                                         "United States":"美国",
                                         "Hong Kong":"香港",
                                         "大韩民国":"韩国"}).value_counts()[0:12]
    country

  • # 配置汉字的显示方式
    plt.rcParams["font.sans-serif"] = ["SimHei"]
  • #显示横向的直方图
    plt.barh(y=country.index,width=country.values)

  • douyin.country.replace(to_replace={"China":"中国",
                                         "United States":"美国",
                                         "Hong Kong":"香港",
                                         "大韩民国":"韩国"},inplace=True)
  • #主要是中国的网红
    condition = douyin['country'] == '中国'
    
    China = douyin.loc[condition]
    # 找出网红主要城市的分布地
    China["province"].value_counts()[0:11].plot(kind="bar")
    
    plt.xticks(rotation = -60)

  • douyin.province.replace(to_replace={"Jjlin":"吉林",
                                         "Guandong":"广东",
                                         "Sichuan":"四川",
                                         "Hubei":"湖北",
                                         "Shananxi":"陕西",
                                          "广西壮族自治区":"广西",
                                           "内蒙古自治区":"内蒙古",
                                           "新疆维吾尔自治区":"新疆"},inplace=True)
  • import numpy
  • # 去掉省
    def map_province(x):
        if x.endswith("省"):
            y = x.rstrip("省")
            return y
        return x
  • map_province("黑龙江省")

  • # 用map 映射将数据里 字段  province 带省字的名称去掉
    douyin.province = douyin.province.map(map_province)
  • douyin.city.value_counts()[:10].plot(kind="barh")

  • # 看大v喜欢  什么样的视频
    
    douyin.head(2)

  • douyin.category.value_counts()[:10].plot(kind="bar")
    plt.xticks(rotation = 0)

  • #最不关注的两个
    douyin.category.value_counts()[-2:].plot(kind="bar")
    #plt.xticks(rotation = 0)

# 绘制大v的粉丝的分布情况

douyin.fans[douyin.fans<20000000]

sns.distplot(douyin.fans[douyin.fans<20000000])

  • sns.displot(douyin.fans)

  • # 绘制抖音分箱的曲线分布图
    data = pd.cut(x=douyin.fans.values,bins=[0,500000,1000000,2000000,5000000,10000000,1e9],
                  labels=['--50万','50-100万','100-200','200-500','500-1000','1000以上'])
    data.value_counts().plot(kind="bar")

  • #发布最多的视频的抖音账号是哪些?TOP10
    top10_videos = douyin.sort_values(by="videos",ascending=False).iloc[:10][["name","videos"]]
    top10_videos.set_index("name").plot(kind="bar")
    plt.xticks(rotation = -30)

  • # 查看视频数的多少与粉丝数量的关系
    samples = douyin[["videos","fans"]]
    samples

  • # 查看空值
    samples.isnull

  • # 散点图 查看视频数量和抖音数量的关系
    plt.scatter(samples.videos,samples.fans)

  • # 查看数据分布
    sns.distplot(samples.fans)

  • # 查看粉丝数2000万以内的分布
    sns.distplot(samples.fans[samples.fans<20000000])

  • #查看哪些大V获取的点赞数更多? 查看点赞数量的分布
    douyin.sort_values(by="likes",ascending=False)[["name",'likes']].set_index("name")[:10].plot(kind="bar")

  • sns.distplot(douyin.likes)

  • # 点赞数  小于5千万的
    
    sns.distplot(douyin.likes.loc[douyin.likes<0.5e9])

 

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值