【Python数分实战】数据探索中文播客榜单主播数据

📣 前言

  • 👓 可视化主要使用 plotly
  • 🔎 数据处理主要使用 pandas
  • 🕷️ 数据爬取主要使用 requests
  • 👉 本文是我自己在和鲸社区的原创

今天这篇文章将给大家介绍【Python数据探索中文播客榜单主播数据】案例。

Step 1. 导入模块

import pandas as pd
import plotly.express as px
import plotly.graph_objects as go

Step 2. 数据概览

数据下载:关注公众号,回复关键词【中文播客榜单】


file_path = '/home/mw/input/sjj8477/中文播客榜单_240313_1710313604.csv'
data = pd.read_csv(file_path)

data.head()

输出结果:
《》

Step 3. 数据分析及其可视化

3.1 哪个类别的播客拥有最高的订阅数

category_subscription_mean = data.groupby('类别')['订阅数'].mean().sort_values(ascending=False)

category_subscription_mean[:10]

输出结果:

类别
创业       268844.000000
投资       191934.000000
营销       138353.000000
喜剧小说     134733.000000
课程       128306.000000
表演       127821.600000
商业新闻     110353.000000
喜剧       103897.400000
社会与文化    103598.458333
新闻解说      99679.000000
Name: 订阅数, dtype: float64

highest_subscription_category = category_subscription_mean.idxmax()
highest_subscription_mean = category_subscription_mean.max()

highest_subscription_category, highest_subscription_mean

输出结果:

('创业', 268844.0)

类别为“创业”的播客拥有最高的平均订阅数,大约为268,844。

3.2 其他类别的播客平均订阅数是多少?


fig = px.bar(x=category_subscription_mean.index, y=category_subscription_mean.values, 
             labels={'x': '类别', 'y': '平均订阅计数'}, 
             title='按类别划分的平均订阅计数')

fig.update_layout(xaxis_tickangle=-45)

fig.show()

输出结果:
《》

如上图所示,我们可以看到不同类别的播客的平均订阅数。其中,“创业”类别的播客平均订阅数最高,约为268,844。其他类别的播客平均订阅数也显示出不同的水平。例如,“科技”类别的播客平均订阅数约为40,000,“教育”类别的播客平均订阅数约为50,000。

从这些数据中,我们可以总结出“创业”类别的播客在订阅数方面表现最为突出。这可能是因为创业是一个热门话题,吸引了大量对此感兴趣的用户。其他类别的播客虽然也有一定的订阅数,但与“创业”类别相比,则显得较少。这可能是因为不同类别的受众群体不同,或者内容的质量和推广策略存在差异。

3.3 哪些类型的播客(根据标题中的关键词)拥有更高的订阅数

我们可以通过分析标题中包含的关键词来确定哪些主题更受欢迎。我们将提取标题中的关键词,并分析它们与订阅数之间的关系。

from collections import Counter
import re

# 从标题中提取关键词,根据流行主题相关的常见关键词
def extract_keywords(titles):
    # 定义常见关键词列表
    keywords = [
        '创业', '科技', '教育', '健康', '旅行', '电影', '音乐', '读书', '个人成长',
        '金融', '编程', '设计', '美食', '运动', '心理', '历史', '艺术', '科学'
    ]
    keyword_counts = Counter()
    # 构建正则表达式模式
    pattern = re.compile(r'\b(' + '|'.join(keywords) + r')\b', re.IGNORECASE)
    # 遍历标题,匹配关键词并统计出现次数
    for title in titles:
        matches = pattern.findall(title)
        keyword_counts.update(matches)
    return keyword_counts

# 从标题中提取关键词,并计算每个关键词的平均订阅数
title_keywords = extract_keywords(data['标题'])
keyword_subscription_mean = {}
for keyword, count in title_keywords.items():
    # 计算包含特定关键词的标题的平均订阅数
    mean_sub = data[data['标题'].str.contains(keyword, case=False, na=False)]['订阅数'].mean()
    keyword_subscription_mean[keyword] = mean_sub

# 根据平均订阅数对关键词进行排序
sorted_keywords = sorted(keyword_subscription_mean.items(), key=lambda x: x[1], reverse=True)
# 提取平均订阅数最高的前10个关键词进行可视化
top_keywords = sorted_keywords[:10]
top_keywords_labels = [keyword[0] for keyword in top_keywords]
top_keywords_values = [keyword[1] for keyword in top_keywords]

输出结果:
《》

如上图所示,我们可以看到根据标题中的关键词,不同主题的播客平均订阅数。例如,“科技”和“创业”是两个最受欢迎的关键词,与这两个关键词相关的播客平均订阅数最高。这可能表明科技和创业是当前最受欢迎的播客主题。

3.4 播放量与订阅数的关系

play_subscription_correlation = data['播放量'].corr(data['订阅数'])
play_subscription_correlation
0.6912110139038423

在这里插入图片描述

如上图所示,我们可以看到播放量与订阅数之间的散点图。散点图显示了播放量与订阅数之间存在一定的正相关性,相关系数约为0.69,这意味着播放量较高的播客往往拥有较高的订阅数。

这种正相关性表明,增加播客的播放量可能是提高订阅数的一个有效方法。播客创作者可以通过提高内容的可见性、优化SEO策略、利用社交媒体推广等方式来增加播放量。

3.5 评论量和订阅数的关系

comment_subscription_correlation = data['评论量'].corr(data['订阅数'])
comment_subscription_correlation  
0.3521492748656577

输出结果:
《》

如上图所示,我们可以看到评论量与订阅数之间的散点图。散点图显示了评论量与订阅数之间存在一定的正相关性,相关系数约为0.35,这意味着评论量较高的播客往往拥有较高的订阅数,但这种相关性不如播放量与订阅数之间的相关性强。

这种正相关性表明,增加听众的互动和参与(例如通过鼓励评论和反馈)可能是提高订阅数的另一个有效方法。此外,评论可以提供关于听众喜好和偏好的宝贵见解,这可以帮助播客创作者优化内容策略。

3.6 类别的占比

输出结果:
《》

如上图所示,我们可以看到不同类别的播客在数据集中的分布情况。每个扇形代表一个不同的播客类别,其大小与该类别在数据集中的占比成正比。例如,“休闲”类别的播客在数据集中占据了相当大的比例,这表明这是一个非常流行和受欢迎的播客主题。

通过分析类别的分布,播客创作者可以了解哪些主题更受欢迎,并据此调整自己的内容策略以吸引更多的听众。例如,如果某个类别在数据集中占据了较大的比例,那么聚焦于该类别的内容可能会吸引更多的听众。

此外,如果某个类别在数据集中的比例较小,但仍然有一定的受众群体,那么这可能代表一个未被充分开发的市场机会。播客创作者可以考虑探索这些领域,提供独特的内容,以吸引特定的听众群体。

完整代码👇

https://www.heywhale.com/mw/project/660415ee17be047adfec00ee

ps:访问链接点击【在线运行】即可查看完整代码,且不需要担心环境配置问题

数据集下载

关注公众号,回复关键字【中文播客榜单】获取

- END -

以上就是本期为大家整理的全部内容了,喜欢的朋友可以点赞、点在看也可以分享让更多人知道。
在这里插入图片描述

👆 关注**「布鲁的Python之旅」**第一时间收到更新

  • 57
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值