• Python快速刷题网站——牛客网 数据分析篇(七)


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

    在这里插入图片描述

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

    欢迎大家自助练习🥰🥰

    系列专栏链接:

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

    前言

            数据索引 部分已经完结,相信大家已经对pandas库有了一个初步的了解,基本函数已经学会使用,接下来我们学习如何运用pandas实现自动化操作,也就是所说的自动化脚本。我们一步步从最基础的开始学习,这一部分内容就是 逻辑运算……

    2020年毕业的人中最喜欢用Java的用户

           现有一个Nowcoder.csv文件,它记录了牛客网的部分用户数据,包含如下字段(字段与字段之间以逗号间隔):
    如果你想知道哪些人是2020年毕业的,并且最常使用的语言是Java的,请输出他们的全部信息。
    输入描述:

    请添加图片描述
    输出描述:
    输出该数据集中语言为Java且毕业年份为2020的对应的所有列的信息,包括列号。
    请添加图片描述

    • 第一步,提取关键信息:2020毕业 、JAVA
    • 第二步,使用命令在所有数据中查找

    按照惯例,我们以先前建立的data为数据源

    import numpy as np
    import pandas as pd
    data= pd.DataFrame({
        "Nowcoder_ID":['first','second','third','fourth','fivth','sixth'],
        "Level":[1,2,3,2,1,1,],
        "Language":['JAVA','CPP','JAVA','C/C#','JAVA','Python'],
        "Achievement_value":[8711,13,999999,2,45,235],
        "Num_of_exercise":[500,2,32,222,235,34],
        "Graduate_year":[2022,2022 ,2022,2022,2020,2015]
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述

           通过搜索开始时提取到的两个关键信息:2020JAVA 来查找数据,然后我们应该想到用哪些函数来查找数据 --> 查找列索引Graduate_year中的 2022Language中的JAVA来取数据,很明显,用loc函数是容易想到的(其通过索引具体值来搜索数据)。
    注意:并集在pandas中不用and,而是用数学运算符& 和 | 来表示与和或,也就是说异或^也可以使用,这就是所谓的位运算符

    data.loc[(data.Language=='JAVA')&(data.Graduate_year==2020),:]
    
    • 1

    在这里插入图片描述
           很明显,满足上述条件的只有一条数据,但是通过上述思考,我们还能想到用另一种方式去求解这道题:

    data = data.query('Language == "JAVA"')
    print(data.query('Graduate_year==2020'))
    
    • 1
    • 2

    在这里插入图片描述
           pandas.quary()函数也可以快速找到对应数据,最后结果完全相同!


    最终代码整理如下:
    DA9 2020年毕业的人中最喜欢用Java的用户

    import pandas as pd
    Nowcoder = pd.read_csv('Nowcoder.csv',sep=',')
    pd.set_option('display.width', 300) # 设置字符显示宽度
    pd.set_option('display.max_rows', None) # 设置显示最大行
    pd.set_option('display.max_columns', None)
    # 1、
    # print(Nowcoder.loc[(Nowcoder.Language=='Java')&(Nowcoder.Graduate_year==2020),:])
    # 2、
    data = Nowcoder.query('Language == "Java"')
    print(data.query('Graduate_year==2020'))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
           暑假已经过去大半,大家别再迷茫,卷起来卷起来😎😎
  • 相关阅读:
    供应链 | 在线平台的研究与思考(一):销售渠道与模式选择
    线程池_概述_拒绝策略等
    java-- 静态数组
    论文翻译:2021_A New Real-Time Noise Suppression Algorithm for Far-Field Speech Communication Based on Recurrent Neural Network
    国际短信平台哪家好?
    python的多线程介绍之thread
    ​vmware虚拟机ubuntu系统配置静态ip​
    【C++】一文简练总结【多态】及其底层原理&具体应用(21)
    吉利银河L6顶配 官方OTA升级降低充电速度
    SpringMVC ---- 拦截器
  • 原文地址:https://blog.csdn.net/qq_43604989/article/details/126289043