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


    🖱 ⌨个人主页: Love And Program的个人主页
    💖💖如果对你有帮助的话希望三连💨💨支持一下博主

    在这里插入图片描述

            python是目前非常火爆的语言,其在人工智能、数据分析领域都占有一席之地,无论是学习还是工作,都会给你带来相当大的帮助,因此我在这给大家 推荐一个快速提升自己的网站👉👉 牛客网,他们现在的IT题库内容很丰富,属于国内做的很好的了,可以在下图中看见里面试题应有尽有,现在这个系列是数据分析系列,里面同样也有人工智能系列的题目

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

    系列专栏链接:

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

    前言

           继续学习中级函数 部分内容。

    用户等级的中位数

           现有一个Nowcoder.csv文件,它记录了牛客网的部分用户数据,包含如下字段(字段与字段之间以逗号间隔):
           牛客网运营同学有一个活动,需要统计所有用户等级的中位数,但是为了去掉一些非常不活跃的账号,于是他们只统计刷题数量不低于10题的那部分用户。
    输入描述:
    请添加图片描述
    输出描述:
    直接输出计算的中位数,输出类型为整型Int。

    • 读题找出重点:所有用户等级的中位数
    • median()函数->手册地址
    • 通过翻译手册内容,我们可以了解到,两者都是返回所选行列数值的平均值,本质上只有返回格式不同的差异。

    本地代码测试如下:
    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]
    })
    int(data[data['Num_of_exercise'] > 10]['Level'].median())
    #原本为605,为符合题意,加入int后只取整数部分,固为6
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    在这里插入图片描述
    以上为Series写法,你甚至可以使用DataFrame写法尝试一遍,结果也是一样的,代码如下:

    data2=pd.DataFrame()
    data2.insert(0,'Level',data[data['Num_of_exercise'] > 10]['Level'])
    int(data2.median())
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    最终代码整理如下:
    DA15 牛客网用户等级的中位数

    import pandas as pd
    Nowcoder = pd.read_csv('Nowcoder.csv', sep=',')
    # 1、
    print(int(Nowcoder[Nowcoder['Num_of_exercise'] > 10]['Level'].median()))
    # 2、
    data= pd.DataFrame()
    data.insert(0,'Level',Nowcoder[Nowcoder['Num_of_exercise'] > 10]['Level'])
    print(int(data.median()))
    # 3、
    print(int(Nowcoder.loc[Nowcoder['Num_of_exercise'] > 10,:].Level.median()))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    用户常用语言有多少

           现有一个Nowcoder.csv文件,它记录了牛客网的部分用户数据,包含如下字段(字段与字段之间以逗号间隔):
           你想知道这个文件中记录了多少种常用语言,一并输出这些语言的名字。
    输入描述:
    请添加图片描述
    输出描述:
    直接输出计算的种类数,输出类型为整型Int。
    换行再输出有哪些语言,排序按照在csv中的出现顺序排布
    请添加图片描述

    • 读题找出重点:输出常用语言的名字
    • nunique()/unique()函数
    1. unique()

    Return unique values of Series object.

    • 翻译:返回序列对象的唯一值,即统计序列中不同的值。
    1. nunique()

    Return number of unique elements in the object.

    • 翻译:返回返回对象中唯一元素的数目,即统计序列中不同元素的数目

    实现代码:

    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','C','Python'],
        "Number_of_submissions":[120,1,2,1,3]
    })
    print(int(data['Language'].nunique()))
    print(data['Language'].unique())
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    在这里插入图片描述

    最终代码整理如下:
    DA15 牛客网用户等级的中位数

    import pandas as pd
    
    Nowcoder = pd.read_csv('Nowcoder.csv', sep=',')
    print(int(Nowcoder['Language'].nunique()))
    print(Nowcoder['Language'].unique())
    
    • 1
    • 2
    • 3
    • 4
    • 5

    目前还是记函数部分,不难记,多尝试练熟了就简单了

  • 相关阅读:
    LeetCode 234. 回文链表
    上班用Python采集热搜榜,堪称摸鱼神器
    【数仓】数仓建模理论及步骤,ER建模,维度建模,星形模型,雪花模型,数据分层
    ElasticSearch快速入门
    [附源码]计算机毕业设计JAVA面向服装集群企业的个性化定制服务系统
    计算机网络八股总结
    从网站优化来看我们的标题如何去写
    《最新出炉》系列初窥篇-Python+Playwright自动化测试-37-如何截图-上篇
    浏览器外观(Omnibox、选项页、覆盖特定页)
    go语言 sync.Map原理
  • 原文地址:https://blog.csdn.net/qq_43604989/article/details/126693340