当前位置: 首页 > news >正文

网站 前台 后台重庆造价工程新希望官网

网站 前台 后台,重庆造价工程新希望官网,二级域名做网站注意,好创意的设计网站博客主页#xff1a;小馒头学python 本文专栏: Python数据分析五十个小案例 专栏简介#xff1a;分享五十个Python数据分析小案例 在现代电影行业中#xff0c;数据分析已经成为提升用户体验和电影推荐的关键工具。通过分析电影评分数据#xff0c;我们可以揭示出用户的… 博客主页小馒头学python 本文专栏: Python数据分析五十个小案例 专栏简介分享五十个Python数据分析小案例 在现代电影行业中数据分析已经成为提升用户体验和电影推荐的关键工具。通过分析电影评分数据我们可以揭示出用户的评分偏好、热门电影的特点以及不同电影类型的受欢迎程度。本文将展示如何使用Python中的Pandas库来分析电影评分数据探索评分的分布、热门电影以及用户的评分偏好。 引言 电影评分数据通常包含大量的用户评分信息反映了电影的受欢迎程度以及观众的评价。通过对这些数据的分析电影公司、推荐系统以及研究者可以更好地了解用户需求并作出相应的调整。例如分析评分分布可以帮助我们识别评分过低或过高的电影探索评分高的电影类型进而为推荐系统提供优化建议。 本文将通过Pandas库分析电影评分数据帮助大家探索以下问题 电影评分的分布是怎样的哪些电影是最受欢迎的用户有哪些评分偏好 数据获取与预处理 数据源介绍 我们使用的数据集包含了电影的评分信息这些数据通常可以从IMDb、豆瓣或类似的公共平台获取。假设我们使用的CSV文件包含以下几列 movie_id电影IDtitle电影名称genre电影类型rating电影的平均评分num_ratings电影的评分次数user_id评分用户的IDtimestamp评分时间 首先我们需要生成一个脚本进行生成模拟的数据 import pandas as pd import numpy as np# 生成电影数据 movie_titles [The Shawshank Redemption, The Dark Knight, Inception, Fight Club, Pulp Fiction] genres [Drama, Action, Sci-Fi, Drama, Crime] ratings [8.7, 9.0, 8.8, 8.8, 9.0] num_ratings [1200, 1500, 1100, 900, 1300] user_ids np.random.randint(1, 500, size5000) timestamps np.random.randint(1000000000, 1600000000, size5000) # 模拟时间戳UNIX时间戳# 创建DataFrame data {movie_id: np.random.randint(1, 6, size5000),title: np.random.choice(movie_titles, size5000),genre: np.random.choice(genres, size5000),rating: np.random.uniform(5, 10, size5000),num_ratings: np.random.choice(num_ratings, size5000),user_id: user_ids,timestamp: timestamps }df pd.DataFrame(data)# 保存为CSV文件 df.to_csv(movie_ratings.csv, indexFalse)print(df.head())运行结果如下 数据加载与清洗 首先我们使用Pandas加载数据并进行基本的清洗工作。例如去除缺失值和重复数据。 import pandas as pd# 加载数据 df pd.read_csv(movie_ratings.csv)# 查看数据的基本信息 print(df.info())# 处理缺失值 df df.dropna() # 删除含有缺失值的行# 处理重复数据 df df.drop_duplicates()# 确保数据类型正确 df[rating] df[rating].astype(float) df[num_ratings] df[num_ratings].astype(int)print(df.head())评分数据查看 数据概览 加载并清洗数据后我们先进行一些基本的统计分析了解电影评分数据的整体情况。我们可以使用df.describe()来查看数据的摘要统计信息如均值、标准差、最小值和最大值等。 # 基本统计分析 print(df[rating].describe())数据分布 通过直方图和箱型图我们可以直观地查看评分的分布情况识别出评分的集中趋势以及异常值。 import matplotlib.pyplot as plt import seaborn as sns# 绘制评分分布的直方图 plt.figure(figsize(8, 6)) sns.histplot(df[rating], bins20, kdeTrue, colorblue) plt.title(电影评分分布) plt.xlabel(评分) plt.ylabel(频次) plt.show()# 绘制箱型图查看评分的分布情况 plt.figure(figsize(8, 6)) sns.boxplot(xdf[rating], colorgreen) plt.title(电影评分箱型图) plt.xlabel(评分) plt.show()通过这些图表我们可以看到大部分电影的评分集中在较高的区间例如7到9分之间同时也能看到少量评分极低和极高的电影。 电影评分分布分析 各评分区间的电影数量分析 我们可以根据评分区间对电影进行分类统计各个区间的电影数量。例如评分为1-3、4-6、7-9和10分的电影各有多少部。 # 定义评分区间 bins [0, 3, 6, 9, 10] labels [1-3, 4-6, 7-9, 10] df[rating_category] pd.cut(df[rating], binsbins, labelslabels, rightFalse)# 统计各评分区间的电影数量 rating_distribution df[rating_category].value_counts() print(rating_distribution)高评分与低评分电影比例 我们可以进一步探讨评分偏好的问题找出高评分和低评分电影的比例。比如评分在9分以上的电影占总电影数的比例。 # 计算评分大于等于9的电影占比 high_rated_movies df[df[rating] 9] print(f高评分电影占比: {len(high_rated_movies) / len(df) * 100:.2f}%)热门电影分析 根据评分数筛选热门电影 热门电影通常有大量的评分我们可以通过num_ratings评分数来筛选这些电影。找出评分次数最多的前10部电影。 # 按照评分数排序找到评分数最多的前10部电影 top_rated_by_count df.sort_values(bynum_ratings, ascendingFalse).head(10) print(top_rated_by_count[[title, num_ratings, rating]])根据平均评分找出评分最高的电影 除了考虑评分次数电影的平均评分也很重要。我们可以根据rating对电影进行排序找出评分最高的前10部电影。 # 按照评分排序找到评分最高的前10部电影 top_rated_by_avg df.sort_values(byrating, ascendingFalse).head(10) print(top_rated_by_avg[[title, rating, num_ratings]])用户偏好分析 用户评分偏好分析 我们可以通过电影类型genre来分析用户的评分偏好。首先统计每种电影类型的平均评分并进行可视化。 # 计算每种类型的平均评分 genre_avg_rating df.groupby(genre)[rating].mean().sort_values(ascendingFalse) print(genre_avg_rating)# 绘制电影类型的平均评分 plt.figure(figsize(10, 6)) genre_avg_rating.plot(kindbar, colorpurple) plt.title(不同电影类型的平均评分) plt.xlabel(电影类型) plt.ylabel(平均评分) plt.show()评分时间趋势 用户的评分行为可能随时间变化而有所不同尤其是在电影的上映周期内。我们可以通过timestamp列来分析评分的时间趋势。 # 转换时间戳为日期 df[timestamp] pd.to_datetime(df[timestamp], units)# 按照年份统计平均评分 df[year] df[timestamp].dt.year yearly_avg_rating df.groupby(year)[rating].mean()# 绘制年度平均评分趋势 plt.figure(figsize(10, 6)) yearly_avg_rating.plot(kindline, colororange) plt.title(电影评分的年度趋势) plt.xlabel(年份) plt.ylabel(平均评分) plt.show()完整源码 import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import numpy as np# 1. 数据加载与预处理 df pd.read_csv(movie_ratings.csv)# 查看数据基本信息 print(数据的基本信息:) print(df.info())# 查看前几行数据 print(\n数据预览:) print(df.head())# 处理缺失值 df df.dropna() # 删除含有缺失值的行# 处理重复数据 df df.drop_duplicates()# 确保数据类型正确 df[rating] df[rating].astype(float) df[num_ratings] df[num_ratings].astype(int)# 2. 评分数据探索 # 描述性统计 print(\n评分的描述性统计:) print(df[rating].describe())# 3. 绘制评分分布 plt.figure(figsize(10, 6)) sns.histplot(df[rating], bins20, kdeTrue, colorblue) plt.title(电影评分分布) plt.xlabel(评分) plt.ylabel(频次) plt.show()# 评分的箱型图 plt.figure(figsize(8, 6)) sns.boxplot(xdf[rating], colorgreen) plt.title(电影评分箱型图) plt.xlabel(评分) plt.show()# 4. 评分区间分析 bins [0, 3, 6, 9, 10] labels [1-3, 4-6, 7-9, 10] df[rating_category] pd.cut(df[rating], binsbins, labelslabels, rightFalse)# 各评分区间的电影数量 rating_distribution df[rating_category].value_counts() print(\n各评分区间的电影数量:) print(rating_distribution)# 5. 高评分与低评分电影比例 high_rated_movies df[df[rating] 9] print(f\n高评分电影占比: {len(high_rated_movies) / len(df) * 100:.2f}%)# 6. 热门电影分析 # 按评分数排序找到评分数最多的前10部电影 top_rated_by_count df.sort_values(bynum_ratings, ascendingFalse).head(10) print(\n评分次数最多的前10部电影:) print(top_rated_by_count[[title, num_ratings, rating]])# 按照评分排序找到评分最高的前10部电影 top_rated_by_avg df.sort_values(byrating, ascendingFalse).head(10) print(\n评分最高的前10部电影:) print(top_rated_by_avg[[title, rating, num_ratings]])# 7. 用户评分偏好分析 # 计算每种类型的平均评分 genre_avg_rating df.groupby(genre)[rating].mean().sort_values(ascendingFalse) print(\n每种类型的平均评分:) print(genre_avg_rating)# 绘制电影类型的平均评分 plt.figure(figsize(10, 6)) genre_avg_rating.plot(kindbar, colorpurple) plt.title(不同电影类型的平均评分) plt.xlabel(电影类型) plt.ylabel(平均评分) plt.show()# 8. 评分时间趋势 # 转换时间戳为日期 df[timestamp] pd.to_datetime(df[timestamp], units)# 按照年份统计平均评分 df[year] df[timestamp].dt.year yearly_avg_rating df.groupby(year)[rating].mean()# 绘制年度平均评分趋势 plt.figure(figsize(10, 6)) yearly_avg_rating.plot(kindline, colororange) plt.title(电影评分的年度趋势) plt.xlabel(年份) plt.ylabel(平均评分) plt.show()# 9. 结论 print(\n数据分析完成) print(1. 评分分布电影评分大多集中在7-9分之间。) print(2. 热门电影高评分和大量评分数的电影通常会更受欢迎。) print(3. 用户偏好不同电影类型的评分存在显著差异某些类型的电影得到更高的评分。)运行部分截图 最后的简单的数据分析也是最重要的 评分分布电影评分大多集中在7-9分之间。热门电影高评分和大量评分数的电影通常会更受欢迎。用户偏好不同电影类型的评分存在显著差异某些类型的电影得到更高的评分。 结论 通过对电影评分数据的分析我们发现 大多数电影的评分集中在7-9分之间少部分电影评分过高或过低。热门电影不仅需要大量的评分数还要有较高的评分。用户的评分偏好与电影类型密切相关不同类型的电影有不同的评分分布。 这些发现为电影推荐系统、电影营销和电影产业的未来发展提供了有价值的见解。 参考文献 数据来源IMDb、豆瓣 Pandas官方文档https://pandas.pydata.org/pandas-docs/stable/ 若感兴趣可以访问并订阅我的专栏Python数据分析五十个小案例https://blog.csdn.net/null18/category_12840404.html?fromshareblogcolumnsharetypeblogcolumnsharerId12840404sharereferPCsharesourcenull18sharefromfrom_link
http://www.dnsts.com.cn/news/155349.html

相关文章:

  • 哈尔滨网站建设公司名字wordpress404模板
  • 网站建设xs029如何在linux下安装wordpress
  • 网站建设新际国家骨干高职院校建设网站
  • 学做ppt推荐网站seo优化找stso88效果好
  • flash素材网站网络工程师和做网站哪个难
  • 网站能查到从哪里做的吗母婴产品网站模板
  • 如何建设网站论文文献asp. net 做网站
  • 北京政平建设投资集团有限公司网站服装服饰设计网站
  • 免费申请httq网站?wordpress cdn 规则
  • 免费模板素材网站有哪些漳州网站建设
  • wordpress怎么搜站点合肥app开发费用
  • php网站开发技术论文网站关于我们页面设计
  • 网站vps网站宣传册怎么做
  • 寻求南宁网站建设人员网站被跳转公告怎么写
  • 做自适应网站下载网站模板
  • 做计算机网站的总结域名链接网站
  • 6网站建设做网站网易邮箱网页版
  • 网站建设与维护税率制作平台网站费用
  • 自己做的产品在哪个网站上可从卖德国 网站后缀
  • 网站建设合同 技术合同最早做网页的公司
  • 驻马店营销型网站建设优化推广网站底部怎么修改
  • 郑州加盟网站建设服装设计软件有哪些软件
  • 做电子请柬的网站前端开发培训找不到工作
  • 找人做网站维护多少钱wordpress 当前分类文章数
  • 网站开发音乐新工商名录
  • 分析北师大教育学原理网站建设wordpress 新建用户
  • 做个视频网站网站备案幕布下载
  • 重庆电子商务网站网站优化的作用
  • 不同网站相似的页面百度不收录吗商丘在线商城
  • 网站服务商新闻类wordpress模板