• 猿创征文|Python快速刷题网站——牛客网 数据分析篇(十二)


    👦👦一个帅气的boy,你可以叫我Love And Program
    🖱 ⌨个人主页:Love And Program的个人主页
    💖💖如果对你有帮助的话希望三连💨💨支持一下博主

    在这里插入图片描述

            python是目前非常火爆的语言,其在人工智能、数据分析领域都占有一席之地,无论是学习还是工作,都会给你带来相当大的帮助。我在这给大家 推荐一个快速提升自己的网站👉👉 牛客网,他们现在的IT题库内容很丰富,属于国内做的很好的了,可以在下图中看见里面试题应有尽有,最最最重要的里面的资源全部免费!!!(亲测全免费,写题解还可以得小礼物)

    欢迎大家订阅本专栏进行自助练习🥰🥰

    系列专栏链接:

    Python快速刷题网站——牛客网 数据分析篇专栏

    前言

           中级函数 部分主要是学习工作需要的几个函数,而且难度不大,因此我们开启快速学习模式。

    用户最近的最长与最短连续签到天数

           运营同学想要统计牛客网的用户的最近的连续签到情况,他想知道最长的用户已经连续签到了多久,最短的用户又连续签到了多久,请帮他输出一下
    输入描述:请添加图片描述
    输出描述:
    直接输出最长与最短签到天数的两个数字,数字之间换行

    • 读题找出重点:找出语言种类连续签到最长最短情况
    • max()/min()函数

           本题可以用Python内置的max()函数,同样,也可以使用pandas中内置的max()/min()函数:

    import numpy as np
    import pandas as pd
    
    data= pd.DataFrame({
        "Nowcoder_ID":[178372,989717,783650,723570,456568],
        "Level":[7,1,2,6,7],
        "Achievement_value":[8711,13,130,5666,11234],
        "Num_of_exercise":[500,3,32,433,899],
        "Graduate_year":[2017,2016,2010,2019,2017],
        "Language":['CPP','Java',' ','C','Python'],
        "Continuous_check_in_days":[120,1,2,1,3]
    })
    # 1 
    print(data.Continuous_check_in_days.max())
    print(data.Continuous_check_in_days.min())
    # 2
    print(max(data.Continuous_check_in_days))
    print(min(data.Continuous_check_in_days))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    在这里插入图片描述
    注意:两者速度也有一定区别,发现在很少量数据下第二种方式可能更快一点,但是随着数据量增多,第一种方式更占优。

    最终代码整理如下:
    DA13 牛客网用户最近的最长与最短连续签到天数

    import pandas as pd
    Nowcoder = pd.read_csv('Nowcoder.csv', sep=',')
    print(max(Nowcoder.Continuous_check_in_days))
    print(min(Nowcoder.Continuous_check_in_days))
    
    • 1
    • 2
    • 3
    • 4

    Python用户的平均提交次数

           打算学习Python的小白同学打开了牛客网,他想知道Python到底难不难,于是他想从牛客网Python用户都平均提交了多少次代码来认识,请你帮他找一找。
    输入描述:请添加图片描述
    输出描述:
    直接输出计算的平均数,直接输出,保留一位小数。

    • 读题找出重点:Python用户求平均提交代码次数
    • 接下来我们学习三个将要用到的函数,分别是:mean()round()np.mean

           所以我们的目标是选出Python用户来,然后求在此条件下提交代码次数的平均值,代码如下:

    import numpy as np
    import pandas as pd
    
    data= pd.DataFrame({
        "Nowcoder_ID":[178372,989717,783650,723570,456568],
        "Level":[7,1,2,6,7],
        "Achievement_value":[8711,13,130,5666,11234],
        "Num_of_exercise":[500,3,32,433,899],
        "Graduate_year":[2017,2016,2010,2019,2017],
        "Language":['CPP','Java',' ','C','Python'],
        "Number_of_submissions":[120,1,2,1,3]
    })
    print(round(data[data.Language=='Python']['Number_of_submissions'].mean(),1))
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    在这里插入图片描述
           同理,求平均值的方法还有np.mean():

    round(np.mean(data[data.Language=='Python']['Number_of_submissions']),1)
    
    • 1

    在这里插入图片描述

    最终代码整理如下:
    DA14 Python用户的平均提交次数

    import pandas as pd
    Nowcoder = pd.read_csv('Nowcoder.csv', sep=',')
    # df = Nowcoder[Nowcoder.Language == 'Python']
    # result = df.Number_of_submissions.mean()
    # print(round(result,1))
    print(round(Nowcoder[Nowcoder.Language=='Python']['Number_of_submissions'].mean(),1))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    round函数

    round(x, n)函数:返回浮点数x的四舍五入的值,n是保留几位小数

    
    print(round(123.45,-1))
    print(round(123.45,0))
    print(round(123.4))
    print(round(123.456,1))
    print(round(123.456,2))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    总结:本章主要内容为最大值、最小值以及平均值,次要内容是记住求小数的round()函数,内容不难,手敲一遍,跟着题目过一遍就能牢牢记住。

  • 相关阅读:
    【Python】Numpy生成等差数组
    对React fiber的理解
    21、Flink 的table API与DataStream API 集成(完整版)
    华为HCIA(三)
    论文笔记 Where Would I Go Next? Large Language Models as Human Mobility Predictor
    五年制专转本的作文评分标准及拿分方法
    使用el-table的树状结构数据的勾选列,可以勾选第一层级,但是第二级之后的都不支持勾选
    Java变量类型 Java进阶必看
    Spring WebFlux使用函数式编程模型构建异步非阻塞服务
    多线程编码细节1
  • 原文地址:https://blog.csdn.net/qq_43604989/article/details/126580869