[ml-100k电影数据] 2 按月统计观影人数和各星评价数

3.1 数据集 ml-100k

3.2 分析过程

  1. 建表,日期为 ‘2019-04-01 23:33:08’ 格式。create table u_data_ymdhms (userid INT, movieid INT, rating INT, strtime date);

  2. 转化时间到新表。insert overwrite table u_data_ymdhms select userid, movieid, rating, from_unixtime(int(unixtime), 'yyyy-MM-dd HH:mm:ss') from u_data

  3. 按月份统计每个月观影人数。select month(strtime),count(1) from u_data_ymdhms group by month(strtime);

    month count
    1 14237
    2 10946
    3 13034
    4 8839
    9 6863
    10 10313
    11 24137
    12 11631
  4. 统计每个月1--5星评价的数目。列传行,将数据转化为 month, star1, star2,.., star5.
    注意:保存到本地文件夹中,一定要新建一个空文件夹!!!!否则会覆盖所有文件!!!!

    create table u_monthstar (month int, star1 int, star2 int, star3 int, star4 int, star5 int);
    
    insert into table u_monthstar
    select month(strtime),
    sum(case rating when 1 then 1 else 0 end),
    sum(case rating when 2 then 1 else 0 end),
    sum(case rating when 3 then 1 else 0 end),
    sum(case rating when 4 then 1 else 0 end),
    sum(case rating when 5 then 1 else 0 end)
    from u_data_ymdhms
    group by month(strtime);
    
    # 保存到本地文件
    insert overwrite local directory '/home/badou/data/terminated_fields' row format delimited fields terminated by '\t'
    select * from u_monthstar;
    
    
  5. python中用dataframe读取,画图,观察每个月份1 -- 5星评价比例分布。


    movie_groupby_monthstar.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,812评论 0 13
  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,683评论 0 10
  • MYSQL 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 MySQL基本操...
    Kingtester阅读 8,037评论 5 115
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,200评论 0 38
  • 人是一片有生命的芦苇荡 捧着茶杯的滚烫 冷却满心的迷离心殇 契合幻灭的晨曦探进窗 淹没在猎场的长吁短叹呼啸乱窜 如...
    懒人阿八阅读 377评论 4 1

友情链接更多精彩内容