pycharm获取yelp相关数据(五)

# 4、打卡分析
# 4-1 统计每年的打卡次数

df22 = checkin_df \
    .select(col('business_id'), explode(split(col('date'), ',')).alias('datetime')) \
    .select('business_id', year(to_timestamp(trim(col('datetime')))).alias('year')) \
    .groupBy('year') \
    .count() \
    .orderBy(col("count").desc()) \
    .show()

# 4-2 统计24小时每小时打卡次数

df23 = checkin_df.select(col('business_id'), explode(split(col('date'), ',')).alias('datetime')) \
    .select('business_id', hour(to_timestamp(trim(col('datetime')))).alias('hour')) \
    .groupBy('hour') \
    .count()\
    .orderBy(col("count").desc()) \
    .show()

# 4-3 统计最喜欢打卡的城市

df24 = checkin_df \
    .select(col('business_id'), explode(split(col('date'), ',')).alias('datetime')) \
    .join(df, checkin_df['business_id'] == df['business_id']) \
    .select(df['business_id'], df['city']) \
    .groupBy('city') \
    .agg(count('city').alias('cnt')) \
    .orderBy(col('cnt').desc()) \
    .limit(20) \
    .show()

# 4-4 全部商家的打卡排行榜

df25 = checkin_df \
    .select('business_id', explode(split(col('date'), ',')).alias('time')) \
    .groupBy("business_id") \
    .count() \
    .orderBy(col("count").desc()) \
    .limit(5) \
    .show()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值