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



    在这里插入图片描述

    内置函数

    刷题网址:牛客网

    DA12 牛客网不同语言使用人数

    在这里插入图片描述
    题意分析
    题目主要就是分别统计每中语言出现的次数

    题解
    直接统计不同值得个数

    import pandas as pd
    df = pd.read_csv('Nowcoder.csv')
    print(df['Language'].value_counts())
    
    • 1
    • 2
    • 3

    先根据Language的值进行分组,然后分别统计每组的数量
    注意这个在在牛客中不能通过,因为取得列值不一样,但是能实现这个结果

    import pandas as pd
    df = pd.read_csv('Nowcoder.csv')
    print(df.groupby('Language').count()['Level'].sort_values(ascending=False))
    
    • 1
    • 2
    • 3

    DA13 牛客网用户最近的最长与最短连续签到天数

    在这里插入图片描述

    题意分析:

    找最大值和最小值

    题解:

    import pandas as pd
    df = pd.read_csv("Nowcoder.csv")
    
    print(df['Continuous_check_in_days'].max())
    print(df['Continuous_check_in_days'].min())
    
    • 1
    • 2
    • 3
    • 4
    • 5

    DA14 Python用户的平均提交次数

    在这里插入图片描述
    题意分析
    找到使用python语言得人然后求他得平均提交次数

    题解

    import pandas as pd
    df = pd.read_csv("Nowcoder.csv")
    # 找出使用语言为Python的人
    pydf =df[df['Language'] == 'Python']
    # 求平均值和保留小数位数
    # 使用round保留小数
    print(pydf['Number_of_submissions'].mean().round(1))
    # 使用format保留小数
    print(format(pydf['Number_of_submissions'].mean(), '.1f'))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    相关函数
    mean() 求平均值
    round(n) 保留n位小数,注意不是四舍五入,它有自己的规则,看我这篇博客
    format() 格式化字符串,可以对数字进行四舍五入

    DA15 牛客网用户等级的中位数

    在这里插入图片描述

    题意分析

    题目里面有两个要求,一个是排除刷题数量少于10道的人,另一个就是求等级的中位数

    题解:

    import pandas as pd
    df = pd.read_csv('Nowcoder.csv')
    # 筛选出刷题数量大于10的人
    new_df = df[df['Num_of_exercise'] >= 10]
    # 计算中位数,并取整
    print(int(new_df['Level'].median()))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    相关函数:
    median() 取中位数

    DA16 用户常用语言有多少

    在这里插入图片描述
    题意分析
    找出语言这一列拥有不同值得数量,以及由有哪些内容

    题解

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

    相关函数
    nunique() 返回不同值得个数
    unique() 返回不同值,返回得数据类型是array

    DA17 牛客网最多的用户等级

    加粗样式
    题意分析
    找出最多得用户等级,其实就是找出等级这一列得中位数,或者说找出出现次数最高得一列
    题解:

    import pandas as pd
    df = pd.read_csv('Nowcoder.csv')
    # 注意它的输出格式,仍然是DataFrame对象
    # 方式1
    print(df[['Level']].mode()) 
    # 方式2 使用iloc取所有行和第二列
    print(df.iloc[:,[1]].mode())
    
    # 注意后面这俩能找到出现次数最多的值,但是不符合题意
    print(df[['Level']].value_counts().index[0]) 
    print(df['Level'].mode()) 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    DA18 用分位数分析牛客网用户活动

    在这里插入图片描述
    题意理解:
    题目的意思就是让我们找不同列的分位数

    题解:
    使用quantile解题

    import pandas as pd
    df = pd.read_csv('Nowcoder.csv')
    print(df[['Achievement_value','Continuous_check_in_days']].quantile(0.25))
    print(df[['Num_of_exercise','Number_of_submissions']].quantile(0.75))
    
    • 1
    • 2
    • 3
    • 4

    使用describe解题

    import pandas as pd
    df = pd.read_csv('Nowcoder.csv')
    print(df[['Achievement_value','Continuous_check_in_days']].describe().loc['25%'])
    print(df[['Num_of_exercise','Number_of_submissions']].describe().loc['75%'])
    
    • 1
    • 2
    • 3
    • 4

    相关函数
    quantile 计算分位数
    describe 查看一些基本的统计信息

    DA19 牛客网大佬之间的差距

    在这里插入图片描述
    题意分析
    首先找出7级用户,然后计算7级用户之间的差

    题解

    import pandas as pd
    df = pd.read_csv('Nowcoder.csv')
    df_7 = df[df['Level'] == 7]
    print(df_7['Achievement_value'].max() - df_7['Achievement_value'].min())
    
    • 1
    • 2
    • 3
    • 4

    相关函数
    max 最大值
    min 最小值

    DA20 牛客用户刷题量的方差与提交次数的标准差

    使用的文件同上
    在这里插入图片描述
    题意分析
    求解方差以及标准差
    题解

    import pandas as pd
    df = pd.read_csv('Nowcoder.csv')
    print(format(df['Num_of_exercise'].var(),'.2f'))
    print(format(df['Num_of_exercise'].std(),'.2f'))
    
    • 1
    • 2
    • 3
    • 4

    相关函数
    .var() 求方差
    .std() 求标准差

    总结

    本章9道试题使用了一些Pandas常见的函数进行解题,统计一列中不同值得内容和出现得次数,最大值,最小值,平均值,方差,标准差,中位数,众数,分位数等

    直达牛客,尽情刷题

    在这里插入图片描述

  • 相关阅读:
    python 第四章面向对象
    在windows中使用mysql workbench连接vmware windows虚拟机中的mysql
    竞赛选题 深度学习图像修复算法 - opencv python 机器视觉
    ShowDoc突破边界上线Linux不出网主机
    一篇文章带你掌握测试基础语言——Python
    如何安装和使用Docker
    【RabbitMQ】——入门&安装
    怎么写好论文引言?
    Jmeter并发压测数据库的TPC值
    企业进行高质量数据管理,实施数据治理的关键是什么?
  • 原文地址:https://blog.csdn.net/qq_52007481/article/details/127816604