Missing movie

作者在深圳没有电脑的日子里,很长时间没有享受看电影的乐趣。尽管如此,作者还是选择看了一些电影,如《蜘蛛侠3》、《怪物史莱克3》、《加勒比海盗3》、《哈利波特5》、《变形金刚》等。作者意识到自己工作一天后几乎没有时间做这些事情,因此选择早点睡觉。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Since in Shenzhen, without my computer,I haven't enjoyed my moive time for long.

See.  spiderman 3,shrek 3,pirates of caribbean 3,harry potter 5,transformer,naruto,bleach and so on.Even thouth,konwing that I have little time doing this after working for a day,I choose to sleep earlier and earlier than last day.Only when I have enough money to move out and live with fish can I review the good time.Hope not for long.

import numpy as np import pandas as pd import matplotlib.pyplot as plt # 读取评分数据 ratings = pd.read_csv(r'C:\Users\czx\Desktop\ratings.csv') # 检查缺失值并处理 missing_values = ratings.isnull().sum() print(f"Missing values:\n{missing_values}") ratings.dropna(inplace=True) # 删除缺失值 # 将时间戳转换为日期格式 ratings['timestamp'] = pd.to_datetime(ratings['timestamp'], unit='s') # 合并多张数据表 movies = pd.read_csv(r'C:\Users\czx\Desktop\movies.csv') data = pd.merge(ratings, movies, on='movieId') # 统计用户数量、电影数量和评分数量 num_users = ratings['userId'].nunique() num_movies = ratings['movieId'].nunique() num_ratings = len(ratings) print(f"用户数量: {num_users}") print(f"电影数量: {num_movies}") print(f"评分数量: {num_ratings}") # 计算每个用户的平均评分、每部电影的平均评分、评分次数 avg_user_rating = ratings.groupby('userId')['rating'].mean() avg_movie_rating = ratings.groupby('movieId')['rating'].mean() movie_rating_counts = ratings['movieId'].value_counts() print("每个用户的平均评分:") print(avg_user_rating.describe()) print("每部电影的平均评分:") print(avg_movie_rating.describe()) print("每部电影的评分次数:") print(movie_rating_counts.describe()) # 绘制评分分布直方图 plt.figure(figsize=(10, 6)) plt.hist(ratings['rating'], bins=10, edgecolor='black') plt.title('评分分布直方图') plt.xlabel('评分') plt.ylabel('频数') plt.show() # 分析用户评分行为: 每个用户的评分数量分布 user_rating_counts = ratings.groupby('userId').size() plt.figure(figsize=(10, 6)) plt.hist(user_rating_counts, bins=30, edgecolor='black') plt.title('每个用户的评分数量分布') plt.xlabel('评分数量') plt.ylabel('用户数量') plt.show() # 分析电影评分行为: 每部电影的评分数量分布 plt.figure(figsize=(10, 6)) plt.hist(movie_rating_counts, bins=30, edgecolor='black') plt.title('每部电影的评分数量分布') plt.xlabel('评分数量') plt.ylabel('电影数量') plt.show() # 使用 NumPy 提取统计信息 max_rating = np.max(ratings['rating']) min_rating = np.min(ratings['rating']) mean_rating = np.mean(ratings['rating']) median_rating = np.median(ratings['rating']) print(f"最大评分: {max_rating}") print(f"最小评分: {min_rating}") print(f"平均评分: {mean_rating}") print(f"中位数评分: {median_rating}") # 评分分布直方图 plt.figure(figsize=(10, 6)) plt.hist(ratings['rating'], bins=10, edgecolor='black') plt.title('评分分布直方图') plt.xlabel('评分') plt.ylabel('频数') plt.show() # 用户评分行为分布图 plt.figure(figsize=(10, 6)) plt.boxplot(user_rating_counts.values, vert=False) plt.title('用户评分数量分布') plt.xlabel('评分数量') plt.show() # 电影评分行为分布图 plt.figure(figsize=(10, 6)) plt.boxplot(movie_rating_counts.values, vert=False) plt.title('电影评分数量分布') plt.xlabel('评分数量') plt.show()
06-14
import numpy as np import pandas as pd import matplotlib.pyplot as plt # 数据加载与清洗 ratings = pd.read_csv(r'C:\Users\czx\Desktop\ratings.csv') movies = pd.read_csv(r'C:\Users\czx\Desktop\movies.csv') #处理缺失值 missing_values = ratings.isnull().sum() ratings.dropna(inplace=True) # 数据转换与合并 ratings['timestamp'] = pd.to_datetime(ratings['timestamp'], unit='s') # 时间戳转换 data = pd.merge(ratings, movies, on='movieId') # 合并数据集 data # 统计用户数量、电影数量和评分数量 num_users = ratings['userId'].nunique() num_movies = ratings['movieId'].nunique() num_ratings = len(ratings) print(f"用户数量: {num_users}") print(f"电影数量: {num_movies}") print(f"评分数量: {num_ratings}") # 计算每个用户的平均评分、每部电影的平均评分、评分次数 avg_user_rating = ratings.groupby('userId')['rating'].mean() avg_movie_rating = ratings.groupby('movieId')['rating'].mean() movie_rating_counts = ratings['movieId'].value_counts() print("每个用户的平均评分:") print(avg_user_rating.describe()) print("每部电影的平均评分:") print(avg_movie_rating.describe()) print("每部电影的评分次数:") print(movie_rating_counts.describe()) # 使用 NumPy 提取统计信息 max_rating = np.max(ratings['rating']) min_rating = np.min(ratings['rating']) mean_rating = np.mean(ratings['rating']) median_rating = np.median(ratings['rating']) print(f"最大评分: {max_rating}") print(f"最小评分: {min_rating}") print(f"平均评分: {mean_rating}") print(f"中位数评分: {median_rating}") # 评分分布直方图 plt.figure(figsize=(10, 6)) plt.hist(ratings['rating'], bins=10, edgecolor='black') plt.title('评分分布直方图') plt.xlabel('评分') plt.ylabel('频数') plt.show() # 用户评分行为分布图 plt.figure(figsize=(10, 6)) plt.boxplot(user_rating_counts.values, vert=False) plt.title('用户评分数量分布') plt.xlabel('评分数量') plt.show() # 电影评分行为分布图 plt.figure(figsize=(10, 6)) plt.boxplot(movie_rating_counts.values, vert=False) plt.title('电影评分数量分布') plt.xlabel('评分数量') plt.show()
06-15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值