pycharm获取yelp相关数据(三)

# 2、用户分析
# 2-1 分析每年加入的用户数量

df12 = df0 \
    .select(col("yelping_since"),to_timestamp(col("yelping_since"), "MM/dd/yyyy hh:mm:ss a")) \
    .groupBy(year("yelping_since")) \
    .count() \
    .orderBy(desc("count")) \
    .show()

# 2-2 统计评论达人

df13 = df0 \
    .select('user_id','review_count') \
    .orderBy(col('review_count').desc()).limit(20) \
    .show()

# 2-3 统计人气最高的用户

df14 = df0 \
    .select('user_id','fans') \
    .orderBy(col('fans').desc()) \
    .limit(20) \
    .show()

# 2-4 统计每年优质用户、普通用户

df15 = df0 \
    .select('elite','user_id') \
    .withColumn('year',explode(split(col('elite'),',')) \
    .alias('year')) \
    .distinct()
df15 = df15 \
    .select('year') \
    .groupBy('year') \
    .agg(count('year').alias('elite_count')) \
    .orderBy(desc('elite_count')) \
    .show()

# 2-5 显示每年总用户数、沉默用户数(未写评论)的比例 16

# 沉默用户数

df16_2 = df0.select('review_count') \
    .where(col('review_count')==0).agg(count('review_count').alias('沉默用户数')) \
    .show()

# 总用户数

df16_1 = df0.select('user_id','review_count') \
    .agg(countDistinct('user_id').alias('总用户数')) \
    .show()

# 文章中出现的df,请查看第一章节即可知晓。

"""
        如果通过上述文章未能解决你的问题,请联系QQ:1491284097,请注明来意,将协助你解决问题。
"""

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值