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


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

    在这里插入图片描述

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

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

    系列专栏链接:

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

    前言

            逻辑运算在实际应用中是身份重要的一环,他在 数据预处理 中占据着举足轻重的地位,无论是处理繁杂的事务还是进行商业建模都有着重要作用。

    C系用户们的信息

           现有一个Nowcoder.csv文件,它记录了牛客网的部分用户数据,包含如下字段(字段与字段之间以逗号间隔):
           现在运营同学想要你帮忙统计一下使用CPP、C、C#的用户的全部信息,请你帮他输出一下。
    输入描述:
    数据集直接从当前目录下的Nowcoder.csv文件中读取。
    请添加图片描述
    输出描述:
    输出该数据集中语言为CPP、C、C#对应的所有列的信息,包括列号。请添加图片描述

    • 首先读题:统计CPP、C、C#的用户输出全部信息
    • 然后思考会用的函数:loc()/quary()

           上一篇我们学了位运算符,正好在这里用到,统计这三种语言需要用到 运算,也就是可以是CPP或是C亦或是C#,都符合题意,代码如下:

    import numpy as np
    import pandas as pd
    
    data= pd.DataFrame({
        "Nowcoder_ID":['first','second','third','fourth'],
        "Level":[1,2,3,2],
        "Language":['C#','CPP','Python','C'],
        "Achievement_value":[8711,13,999999,2],
        "Num_of_exercise":[500,2,32,222],
        "Graduate_year":[np.nan,np.nan ,np.nan,'7']
    })
    data.loc[(data.Language=='C')|(data.Language=='CPP')|(data.Language=='C#'),:]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    在这里插入图片描述

           这里用到 ->|的思想,即只要满足这三个条件之一就可以输出结果,以上是最容易想出来的方法之一,用quary()函数同样可行:

    print(data.query("Language == 'CPP' or Language == 'C' or  Language == 'C#'"))
    
    • 1

    在这里插入图片描述
           两者结果相同,甚至还有他的变种写法,即全存在一个列表里面:

    print(data.query("Language in ['CPP','C','C#']"))
    
    
    • 1
    • 2

    在这里插入图片描述
           这里我在推荐大家一种方法---->使用isin()函数,可以用英语直译其意思最好理解,其作用是:用来清洗数据,删选过滤掉DataFrame中一些行:

    print(data.loc[(data.Language.isin(['C','CPP','C#'])),:])
    # or
    print(data[data['Language'].isin (['CPP','C','C#'])])
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    注意:其实可以过滤DataFrame中的行,故也可以直接作用在data上,代码如下(这下明白isin()函数的意思了吧,只要是列表里面的数就显示为Ture):
    在这里插入图片描述


    最终代码整理如下:
    DA9 牛客网C系用户们的信息

    # 注意:本题目前为止没有C#,故用两种也可以通过
    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)
    
    # print(Nowcoder.loc[(Nowcoder.Language=='C')|(Nowcoder.Language=='CPP'),:]) 
    # print(Nowcoder[Nowcoder['Language'].isin (['CPP','C','C#'])])
    # print(Nowcoder.query("Language == 'CPP' or Language == 'C'"))
    print(Nowcoder.query("Language in ['CPP','C']"))
    # print(Nowcoder.loc[Nowcoder.Language.isin(["CPP", "C"])])
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
           暑假还没有结束,大家快来!进行最后一波冲刺!!😎😎
  • 相关阅读:
    SSL证书如何做到保障网站安全?
    [springmvc]乱码问题解决以及JSON和java对象转换的几种方法
    概率论的学习和整理13--方差和协方差(未完成)
    如何集成 Spring Boot实现 MyCat读写分离?
    Redis缓存——快速入门
    总结:Prometheus存储
    【微机原理与汇编语言】循环程序设计
    算法leetcode|19. 删除链表的倒数第 N 个结点(rust重拳出击)
    在C语言中,堆和栈是两种不同的内存分配机制
    PyTorch 加载 Mask R-CNN 预训练模型并 fine-tuning
  • 原文地址:https://blog.csdn.net/qq_43604989/article/details/126309229