• Python每日一练(牛客数据分析篇新题库)——第36天:分组聚合


    1. 牛客用户刷题量的方差与提交次数的标准差

    描述: 现有一个Nowcoder.csv文件,它记录了牛客网的部分用户数据,包含如下字段(字段与字段之间以逗号间隔):
    Nowcoder_ID:用户ID
    Level:等级
    Achievement_value:成就值
    Num_of_exercise:刷题量
    Graduate_year:毕业年份
    Language:常用语言
    Continuous_check_in_days:最近连续签到天数
    Number_of_submissions:提交代码次数
    Last_submission_time:最后一次提交题目日期
    假如牛牛正在统计用户的刷题情况,需要知道用户刷题量的方差以及提交代码次数的标准差,你能够帮助他吗?

    在这里插入图片描述

    实现代码:

    import pandas as pd
     
    Nowcoder = pd.read_csv('Nowcoder.csv', sep=',')
     
    # var
    print(Nowcoder['Num_of_exercise'].var().round(2))
    # std
    print(Nowcoder['Number_of_submissions'].std().round(2))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    运行结果:

    在这里插入图片描述



    2. 大佬用户成就值比例

    描述: 现有一个Nowcoder.csv文件,它记录了牛客网的部分用户数据,包含如下字段(字段与字段之间以逗号间隔):
    Nowcoder_ID:用户ID
    Level:等级
    Achievement_value:成就值
    Num_of_exercise:刷题量
    Graduate_year:毕业年份
    Language:常用语言
    Continuous_check_in_days:最近连续签到天数
    Number_of_submissions:提交代码次数
    Last_submission_time:最后一次提交题目日期
    牛客网有很多7级红名大佬这是众所周知的,小白希望知道这些大佬的成就值各自占据了所有人成就值总和的百分之多少,你能帮他吗?

    在这里插入图片描述

    实现代码:

    import pandas as pd
    Nowcoder = pd.read_csv('Nowcoder.csv', sep=',')
    nc=Nowcoder.loc[Nowcoder['Level']==7]
    print(nc['Achievement_value']/Nowcoder['Achievement_value'].sum())
    
    • 1
    • 2
    • 3
    • 4

    运行结果:
    在这里插入图片描述



    3. 牛客网用户最高的正确率

    描述: 现有一个Nowcoder.csv文件,它记录了牛客网的部分用户数据,包含如下字段(字段与字段之间以逗号间隔):
    Nowcoder_ID:用户ID
    Level:等级
    Achievement_value:成就值
    Num_of_exercise:刷题量
    Graduate_year:毕业年份
    Language:常用语言
    Continuous_check_in_days:最近连续签到天数
    Number_of_submissions:提交代码次数
    Last_submission_time:最后一次提交题目日期
    牛客网有那么多刷题的用户,有的人身经百战,刷题无数但是反复提交了多次错误的代码debug之后才能通过,牛牛想知道牛客网最高的正确率能有多少,为了公平起见,他决定只统计刷题数量大于10题的用户,请你帮帮他。

    在这里插入图片描述

    实现代码:

    import pandas as pd
     
    Nowcoder = pd.read_csv('Nowcoder.csv', sep=',')
    Nowcoder_10 = Nowcoder.loc[Nowcoder['Num_of_exercise'] > 10,:]
    Nowcoder_10['avg_grade'] = Nowcoder_10['Num_of_exercise']/Nowcoder_10['Number_of_submissions']
    result = Nowcoder_10.avg_grade.max()
    print(round(result,3))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    运行结果:

    在这里插入图片描述



    4. 统计牛客网用户的名字长度

    描述: 现有一个Nowcoder.csv文件,它记录了牛客网的部分用户数据,包含如下字段(字段与字段之间以逗号间隔):
    Nowcoder_ID:用户ID
    Name:用户名
    Level:等级
    Achievement_value:成就值
    Num_of_exercise:刷题量
    Graduate_year:毕业年份
    Language:常用语言
    Continuous_check_in_days:最近连续签到天数
    Number_of_submissions:提交代码次数
    Last_submission_time:最后一次提交题目日期
    运营小周同学想要统计这些用户的名字长度,你可以帮助她吗?

    在这里插入图片描述

    实现代码:

    import pandas as pd
     
    Nowcoder = pd.read_csv('Nowcoder.csv', sep=',')
     
    print(Nowcoder['Name'].apply(lambda x : len(x)))
    
    • 1
    • 2
    • 3
    • 4
    • 5

    运行结果:

    在这里插入图片描述


    《100天精通Python》专栏推荐白嫖80g Python全栈视频

    《100天精通Python从入门到就业》:本专栏专门针对零基础和需要进阶提升的同学所准备的一套完整教学,从0到100的不断进阶深入,后续还有实战项目,轻松应对面试,专栏订阅地址:https://blog.csdn.net/yuan2019035055/category_11466020.html

    • 优点订阅限时9.9付费专栏进入千人全栈VIP答疑群,作者优先解答机会(代码指导、远程服务),群里大佬众多可以抱团取暖(大厂内推机会)!
    • 专栏福利简历指导、招聘内推、每周送实体书、80G全栈学习视频、300本IT电子书:Python、Java、前端、大数据、数据库、算法、爬虫、数据分析、机器学习、面试题库等等
      在这里插入图片描述
      在这里插入图片描述
  • 相关阅读:
    Python零基础入门篇 · 21】:构造函数、类属性和实例属性的访问
    Java Web实现用户登录功能
    笔试题积累
    IND83081芯片介绍(一)
    Qt QSS QSlider样式
    LinkedIn领英怎么避免封号?封号怎么解决?(建议收藏)
    Neuro-Oncology | IF:15.9 & CUT&Tag和RNA-seq联合解析胶质母细胞瘤的耐药性
    Redis新数据类型(Bitmaps,HyperLoglog,Geospatial)命令简介与案例演示
    【愚公系列】2022年08月 微信小程序-纵向和横向选项卡功能实现
    C++设计模式-外观模式,游戏引擎管理多个子系统,反汇编
  • 原文地址:https://blog.csdn.net/yuan2019035055/article/details/126931894