数据准备与清洗

使用 Pandas 加载数据集(如 CSV 或 JSON 格式),检查缺失值、异常值及重复数据。对分类变量(如动漫类型、制作公司)进行编码,数值变量(如评分、播放量)标准化处理。

import pandas as pd  
df = pd.read_csv('anime_2024.csv')  
df.drop_duplicates(inplace=True)  
df['genre'] = df['genre'].fillna('Unknown')  
df['rating'] = pd.to_numeric(df['rating'], errors='coerce')  

探索性分析(EDA)

通过统计描述和可视化快速了解数据分布。计算平均评分、播放量中位数,绘制直方图或箱线图分析离群值。

import matplotlib.pyplot as plt  
plt.figure(figsize=(10, 6))  
df['rating'].hist(bins=20)  
plt.title('Distribution of Anime Ratings')  
plt.xlabel('Rating')  
plt.ylabel('Frequency')  
plt.show()  

多维可视化

评分与播放量关系:使用散点图或热力图分析高评分是否对应高播放量,区分不同动漫类型(如战斗、恋爱)。
类型占比:通过饼图或条形图展示热门类型(如异世界、奇幻)的占比,筛选 Top 10 类型。

import seaborn as sns  
sns.scatterplot(data=df, x='rating', y='views', hue='genre', palette='viridis')  
plt.title('Rating vs Views by Genre')  
plt.show()  

时间趋势分析

若数据集包含发布日期,按季度或月份聚合播放量,使用折线图观察季节性趋势。标注重大事件(如新番上线)对数据的影响。

df['release_date'] = pd.to_datetime(df['release_date'])  
monthly_views = df.resample('M', on='release_date')['views'].sum()  
monthly_views.plot(title='Monthly Views Trend in 2024')  

制作公司对比

分组统计各公司动漫的平均评分和总播放量,通过横向条形图或雷达图展示头部公司的表现差异。

company_stats = df.groupby('studio').agg({'rating': 'mean', 'views': 'sum'})  
company_stats.sort_values('views', ascending=False).head(5).plot(kind='barh')  

用户评分深度挖掘

使用自然语言处理(NLP)分析评论情感倾向(如正面/负面),结合评分分布验证情感分析结果的准确性。

from textblob import TextBlob  
df['sentiment'] = df['reviews'].apply(lambda x: TextBlob(x).sentiment.polarity)  
sns.boxplot(data=df, x='rating_group', y='sentiment')  

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐