6月5日

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from pathlib import Path
import logging
from datetime import datetime

# 配置日志
logging.basicConfig(
    level=logging.INFO,
    format='%(asctime)s - %(levelname)s - %(message)s'
)
logger = logging.getLogger(__name__)

def load_data(file_path):
    """加载数据"""
    try:
        df = pd.read_csv(file_path)
        logger.info(f"成功加载数据,共 {len(df)} 行")
        return df
    except Exception as e:
        logger.error(f"加载数据失败: {e}")
        raise

def generate_report(df):
    """生成分析报告"""
    try:
        # 创建报告目录
        report_dir = Path('output/report')
        report_dir.mkdir(exist_ok=True)
        
        # 生成报告文件名(包含时间戳)
        timestamp = datetime.now().strftime('%Y%m%d_%H%M%S')
        report_file = report_dir / f'analysis_report_{timestamp}.md'
        
        # 计算基本统计信息
        total_reviews = len(df)
        recommended_reviews = len(df[df['是否推荐'] == '推荐'])
        not_recommended_reviews = len(df[df['是否推荐'] == '不推荐'])
        recommendation_rate = (recommended_reviews / total_reviews) * 100
        
        # 计算游戏时长统计
        playtime_stats = df['大圣游戏时长'].describe()
        
        # 生成报告内容
        report_content = f"""# 黑神话:悟空 游戏评价分析报告

## 1. 基本统计信息

- 总评论数:{total_reviews:,} 条
- 推荐评论数:{recommended_reviews:,} 条
- 不推荐评论数:{not_recommended_reviews:,} 条
- 推荐率:{recommendation_rate:.1f}%

## 2. 游戏时长分析

- 平均游戏时长:{playtime_stats['mean']:.1f} 小时
- 最短游戏时长:{playtime_stats['min']:.1f} 小时
- 最长游戏时长:{playtime_stats['max']:.1f} 小时
- 中位数游戏时长:{playtime_stats['50%']:.1f} 小时

## 3. 可视化分析

### 3.1 每日评价趋势
从每日评价人数曲线图可以看出游戏评价的时间分布情况,帮助了解玩家评价的集中时间段。

### 3.2 推荐/不推荐比例
饼图展示了玩家对游戏的总体评价倾向,反映了游戏的整体口碑。

### 3.3 游戏时长与推荐关系
箱线图展示了游戏时长与推荐率之间的关系,帮助理解游戏时长对玩家评价的影响。

### 3.4 词云分析
- 推荐评论词云:展示了玩家对游戏正面评价中的关键词
- 不推荐评论词云:展示了玩家对游戏负面评价中的关键词

## 4. 主要发现

1. 游戏整体评价:
   - 推荐率超过 {recommendation_rate:.1f}%,表明游戏获得了较高的玩家认可
   - 评价数量达到 {total_reviews:,} 条,说明游戏具有较高的关注度

2. 游戏时长分析:
   - 玩家平均游戏时长达到 {playtime_stats['mean']:.1f} 小时
   - 游戏时长分布显示玩家投入度较高

3. 评价内容分析:
   - 通过词云图可以直观地看到玩家最关注和讨论的游戏特点
   - 推荐和不推荐评论的关键词对比,反映了游戏的优缺点

## 5. 建议

1. 游戏优化:
   - 根据不推荐评论中的关键词,针对性地改进游戏体验
   - 关注玩家反馈集中的问题点

2. 运营策略:
   - 利用游戏的优势特点进行宣传
   - 针对玩家关注的重点进行内容更新

## 6. 结论

黑神话:悟空作为一款国产动作游戏,获得了较高的玩家认可度。游戏时长数据显示玩家投入度较高,评价内容反映了游戏的特色和需要改进的地方。建议继续优化游戏体验,保持与玩家的良好互动。

---
*报告生成时间:{datetime.now().strftime('%Y-%m-%d %H:%M:%S')}*
"""
        
        # 保存报告
        with open(report_file, 'w', encoding='utf-8') as f:
            f.write(report_content)
        
        logger.info(f"分析报告已生成:{report_file}")
        return report_file
        
    except Exception as e:
        logger.error(f"生成报告失败: {e}")
        raise

def main():
    try:
        # 加载数据
        df = load_data('csv/wukong.csv')
        
        # 生成报告
        report_file = generate_report(df)
        
        logger.info("报告生成完成")
        logger.info(f"报告文件位置:{report_file}")
        
    except Exception as e:
        logger.error(f"程序执行失败: {e}")
        raise

if __name__ == '__main__':
    main() 

报告

posted @ 2025-06-09 14:57  KuanDong24  阅读(5)  评论(0)    收藏  举报