• 数据分析 | Pandas 200道练习题 进阶篇(1)


    在这里插入图片描述

    好久没有更新数据分析相关的内容,大家都知道数据分析的练习题不好找,博主这些天找的一个可以在线练习的网站推荐给大家 👉牛客网 往后的Pandas练习题从这里找。

    前期准备

    刚开始的入门题我就不再进行介绍了,大家自己练习一下顺便学会使用这个网站,需要注意的是因为是数据分析,设计到导入文件,所以没有办法进行自测运行只能提交后测试结果。
    在这里插入图片描述

    DA5 牛客网用户没有补全的信息

    直达试题,快人一步
    在这里插入图片描述
    题意分析:
    通过简单的读题,我们能够发现题目主要就是判断某一列中是否有空值,如果该列有空值 就返回 True 没有空值就返回False
    题解:

    import pandas as pd
    # 导入数据
    df = pd.read_csv("Nowcoder.csv")
    # 判断某一类是否出现空值
    print(df.isnull().any())
    
    • 1
    • 2
    • 3
    • 4
    • 5

    相关函数讲解

    • isnull() 判断数据是否为空,对象可以是DataFrame,也可以是Series
    • .any() 只要出现一个True 就返回True,否则返回False
    • .all() 和any对立,只有所有的内容为空返回 True,否则返回 False

    DataFrame对象调用 any,all 会根据axis 参数进判断一列或一行的数据 ,axis=0axis=1行默认为列

    创建数据

    在这里插入图片描述

    判断那一列出现空值

    df.isnull().any(axis=0)
    # axis=0 不写也可以
    
    • 1
    • 2

    在这里插入图片描述
    判断那一列的数据全为空

    df.isnull().all()
    
    • 1

    在这里插入图片描述


    DA6 查看牛客网哪些用户使用Python

    直达试题,快人一步
    在这里插入图片描述

    题意分析:
    题目中主要想找到常用语言为Python的人的全部信息,因此我们要先找到使用语言为Python的的索引,再根据索引去找这些人的全部信息

    题解:

    • 使用布尔值索引
      通过判断每一个人常用的语言是否是Python,返回True,不是返回False
    import pandas as pd
    df = pd.read_csv('Nowcoder.csv',dtype=object)
    # df['Language'] == 'Python'] 将Language中的数据依次比较,等于Python的返回True,不等于的返回False
    print(df[df['Language'] == 'Python'])
    
    • 1
    • 2
    • 3
    • 4
    • 使用索引
      那一行常用语言
    import pandas as pd
    df = pd.read_csv('Nowcoder.csv',dtype=object)
    idx= []
    for i,item in enumerate(df['Language']):
        if item ==  'Python':
            idx.append(i)
    print(df.iloc[idx])
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    相关函数
    enumerate 通常和for循环一块使用返回索引和值
    .iloc 根据隐式的行索引取值
    .loc 根据显示行索引取值

    DA7 牛客网Python用户的成就值

    直达试题,快人一步
    在这里插入图片描述
    题意分析
    从题目中我们能够发现,我问应该先找出使用Python的人员,再取出成就值得一列

    import pandas as pd
    df = pd.read_csv('Nowcoder.csv')
    # 布尔值索引,和上一道一样,最后取出该列值
    print(df[df['Language'] == 'Python']['Achievement_value'])
    
    • 1
    • 2
    • 3
    • 4

    DA8 文件最后用户的部分数据

    直达试题,快人一步
    在这里插入图片描述
    题意分析:
    取最后得5行的指定列 先取出最后5行,根据列名取值
    题解:

    import pandas as pd
    df = pd.read_csv('Nowcoder.csv')
    print(df.tail()[['Nowcoder_ID','Level','Achievement_value','Language']])
    
    • 1
    • 2
    • 3

    相关函数
    tail(n) 取出数据最后n行数据,n默认为5
    head(n) 取出数据前的n行数据,n默认为5

    总结

    这次我们只讲解了4道题,也都比较简单,运用的知识都是以前学过的,这次的主要目的也是让大家熟悉一下牛客网的操作步骤。

    在这里插入图片描述

  • 相关阅读:
    MongoDB入门与实战-第一章-介绍
    显示控件——图标类之图标旋转
    算法竞赛入门【码蹄集进阶塔335题】(MT2316-2320)
    仿游戏热血江湖游戏类25
    还有人以为高并发=多线程吗?跟着大佬带你了解二者关系与区别,面试难题轻松拿下!
    Vue3中rem适配方案 淘宝flexible在PC端适配
    vue2单元测试
    【微服务|Sentinel】Sentinel快速入门|构建镜像|启动控制台
    用户登陆界面
    一次 MySQL 误操作导致P0级事故
  • 原文地址:https://blog.csdn.net/qq_52007481/article/details/127801186