豆瓣短评大数据分析:探索用户观影趋势与情感倾向

简介: 豆瓣短评大数据分析:探索用户观影趋势与情感倾向

豆瓣短评大数据分析:探索用户观影趋势与情感倾向

在本文中,我们将结合Python编程和大数据分析的技术,对豆瓣短评数据进行探索性分析,以洞察用户的地域分布、评分偏好以及对影片的情感倾向。

1. 评论者IP属地分布分析

我们首先利用Python的Pandas库加载豆瓣短评数据,并统计不同IP属地的评论数量。接下来,我们使用Matplotlib库绘制饼图,展示前十个IP属地的评论数量占比。

import pandas as pd
import matplotlib.pyplot as plt

# 加载豆瓣短评数据
data = pd.read_csv('豆瓣短评.csv')

# 统计不同IP属地的评论数量
ip_counts = data['评论者IP属地'].value_counts()

# 选择前10个IP属地进行绘制
top_10_ip = ip_counts.head(10)

# 绘制饼图
plt.figure(figsize=(8, 8))
plt.rcParams['font.family'] = 'Arial Unicode MS'
plt.pie(top_10_ip, labels=top_10_ip.index, autopct='%1.1f%%', startangle=140)
plt.title('评论者IP属地分布(前10)')
plt.axis('equal')
plt.show()

import pandas as pd
import matplotlib.pyplot as plt

# 加载CSV文件数据到DataFrame
data = pd.read_csv('豆瓣短评.csv')

# 统计不同IP属地的评论数量
ip_counts = data['评论者IP属地'].value_counts()

# 选择前10个IP属地进行绘制,如果数据量大可能需要筛选合适的数据进行可视化
top_10_ip = ip_counts.head(10)

# 绘制饼图
plt.figure(figsize=(8, 8))
plt.rcParams['font.family'] = 'Arial Unicode MS'
plt.pie(top_10_ip, labels=top_10_ip.index, autopct='%1.1f%%', startangle=140)
plt.title('评论者IP属地分布(前10)')
plt.axis('equal')
plt.show()

2. 评分分布分析

我们利用MapReduce技术对豆瓣短评数据进行评分分布的统计。首先,我们编写Mapper函数和Reducer函数,然后对短评数据执行Map和Reduce操作,最终得到各个评分的评论数量统计并保存为CSV文件。

import csv
from collections import defaultdict

# Mapper函数
def mapper(record):
    rating = record[2]  # 假设评分在第三列
    return [(rating, 1)]

# Reducer函数
def reducer(ratings):
    rating_count = defaultdict(int)
    for rating, count in ratings:
        rating_count[rating] += count
    return rating_count

# 执行Map和Reduce操作
def main():
    file_path = '豆瓣短评_35556001_前30页.csv'

    with open(file_path, newline='', encoding='utf-8') as csvfile:
        reader = csv.reader(csvfile)
        next(reader)  # 跳过标题行
        mapped = [item for row in reader for item in mapper(row)]

    # 执行Reduce操作
    result = reducer(mapped)

    # 将结果保存为CSV文件
    with open('rating_distribution.csv', 'w', newline='', encoding='utf-8') as csvfile:
        fieldnames = ['Rating', 'Count']
        writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

        writer.writeheader()
        for rating, count in result.items():
            writer.writerow({'Rating': rating, 'Count': count})

if __name__ == "__main__":
    main()

3. 评论文本词云可视化

最后,我们利用词云技术对豆瓣短评中的评论文本进行可视化。通过对评论文本的词频统计,生成词云图展示了用户在评论中提及频率较高的关键词。

from wordcloud import WordCloud
import matplotlib.pyplot as plt

# 读取文本文件中的数据
file_path = '/Users/shareit/PycharmProjects/movie_ana/move_get/word_freq_top_10.txt'  # 替换为你的文件路径
with open(file_path, 'r', encoding='utf-8') as file:
    data = file.read()

# 解析数据为关键词和频次的字典
keywords_dict = {}
for line in data.split('\n'):
    parts = line.split(': ')
    if len(parts) == 2:
        keyword, frequency = parts
        keywords_dict[keyword] = int(frequency)

# 生成词云
wordcloud = WordCloud(font_path='/System/Library/Fonts/Supplemental/Arial Unicode.ttf', background_color='white').generate_from_frequencies(keywords_dict)

# 显示词云图
plt.figure(figsize=(8, 6))
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')  # 隐藏坐标轴
plt.title('Word Cloud')  # 标题
plt.show()

相关文章
|
2月前
|
存储 分布式计算 大数据
基于Python大数据的的电商用户行为分析系统
本系统基于Django、Scrapy与Hadoop技术,构建电商用户行为分析平台。通过爬取与处理海量用户数据,实现行为追踪、偏好分析与个性化推荐,助力企业提升营销精准度与用户体验,推动电商智能化发展。
|
3月前
|
数据可视化 搜索推荐 大数据
基于python大数据的北京旅游可视化及分析系统
本文深入探讨智慧旅游系统的背景、意义及研究现状,分析其在旅游业中的作用与发展潜力,介绍平台架构、技术创新、数据挖掘与服务优化等核心内容,并展示系统实现界面。
|
4月前
|
数据采集 人工智能 分布式计算
ODPS在AI时代的发展战略与技术演进分析报告
ODPS(现MaxCompute)历经十五年发展,从分布式计算平台演进为AI时代的数据基础设施,以超大规模处理、多模态融合与Data+AI协同为核心竞争力,支撑大模型训练与实时分析等前沿场景,助力企业实现数据驱动与智能化转型。
403 4
|
4月前
|
JSON 大数据 API
巧用苏宁易购 API,精准分析苏宁易购家电销售大数据
在数据驱动的电商时代,精准分析销售数据能助力企业优化库存、提升营销效果。本文详解如何利用苏宁易购API获取家电销售数据,结合Python进行数据清洗与统计分析,实现销量预测与洞察提取,帮助企业降本增效。
116 0
|
5月前
|
消息中间件 NoSQL 数据可视化
数据说了算,可你得“听得快”——聊聊大数据里的实时分析
数据说了算,可你得“听得快”——聊聊大数据里的实时分析
150 2
|
3月前
|
存储 SQL 分布式计算
终于!大数据分析不用再“又要快又要省钱”二选一了!Dataphin新功能太香了!
Dataphin推出查询加速新功能,支持用StarRocks等引擎直连MaxCompute或Hadoop查原始数据,无需同步、秒级响应。数据只存一份,省成本、提效率,权限统一管理,打破“又要快又要省”的不可能三角,助力企业实现分析自由。
231 49
|
2月前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的台风灾害分析及预测系统
针对台风灾害预警滞后、精度不足等问题,本研究基于Python与大数据技术,构建多源数据融合的台风预测系统。利用机器学习提升路径与强度预测准确率,结合Django框架实现动态可视化与实时预警,为防灾决策提供科学支持,显著提高应急响应效率,具有重要社会经济价值。
|
2月前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的青少年网络使用情况分析及预测系统
本研究基于Python大数据技术,构建青少年网络行为分析系统,旨在破解现有防沉迷模式下用户画像模糊、预警滞后等难题。通过整合多平台亿级数据,运用机器学习实现精准行为预测与实时干预,推动数字治理向“数据驱动”转型,为家庭、学校及政府提供科学决策支持,助力青少年健康上网。
|
3月前
|
数据采集 数据可视化 关系型数据库
基于python大数据的电影数据可视化分析系统
电影分析与可视化平台顺应电影产业数字化趋势,整合大数据处理、人工智能与Web技术,实现电影数据的采集、分析与可视化展示。平台支持票房、评分、观众行为等多维度分析,助力行业洞察与决策,同时提供互动界面,增强观众对电影文化的理解。技术上依托Python、MySQL、Flask、HTML等构建,融合数据采集与AI分析,提升电影行业的数据应用能力。