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

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

在这里插入图片描述

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

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

系列专栏链接:

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

前言

       中级函数 部分主要是学习工作需要的几个函数,而且难度不大,因此我们开启快速学习模式。

用户最近的最长与最短连续签到天数

       运营同学想要统计牛客网的用户的最近的连续签到情况,他想知道最长的用户已经连续签到了多久,最短的用户又连续签到了多久,请帮他输出一下
输入描述:请添加图片描述
输出描述:
直接输出最长与最短签到天数的两个数字,数字之间换行

  • 读题找出重点:找出语言种类连续签到最长最短情况
  • max()/min()函数

       本题可以用Python内置的max()函数,同样,也可以使用pandas中内置的max()/min()函数:

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'],
    "Continuous_check_in_days":[120,1,2,1,3]
})
# 1 
print(data.Continuous_check_in_days.max())
print(data.Continuous_check_in_days.min())
# 2
print(max(data.Continuous_check_in_days))
print(min(data.Continuous_check_in_days))

猿创征文|Python快速刷题网站——牛客网 数据分析篇(十二)_第1张图片
注意:两者速度也有一定区别,发现在很少量数据下第二种方式可能更快一点,但是随着数据量增多,第一种方式更占优。

最终代码整理如下:
DA13 牛客网用户最近的最长与最短连续签到天数

import pandas as pd
Nowcoder = pd.read_csv('Nowcoder.csv', sep=',')
print(max(Nowcoder.Continuous_check_in_days))
print(min(Nowcoder.Continuous_check_in_days))

Python用户的平均提交次数

       打算学习Python的小白同学打开了牛客网,他想知道Python到底难不难,于是他想从牛客网Python用户都平均提交了多少次代码来认识,请你帮他找一找。
输入描述:请添加图片描述
输出描述:
直接输出计算的平均数,直接输出,保留一位小数。

  • 读题找出重点:Python用户求平均提交代码次数
  • 接下来我们学习三个将要用到的函数,分别是:mean()round()np.mean

       所以我们的目标是选出Python用户来,然后求在此条件下提交代码次数的平均值,代码如下:

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]
})
print(round(data[data.Language=='Python']['Number_of_submissions'].mean(),1))

在这里插入图片描述
       同理,求平均值的方法还有np.mean():

round(np.mean(data[data.Language=='Python']['Number_of_submissions']),1)

在这里插入图片描述

最终代码整理如下:
DA14 Python用户的平均提交次数

import pandas as pd
Nowcoder = pd.read_csv('Nowcoder.csv', sep=',')
# df = Nowcoder[Nowcoder.Language == 'Python']
# result = df.Number_of_submissions.mean()
# print(round(result,1))
print(round(Nowcoder[Nowcoder.Language=='Python']['Number_of_submissions'].mean(),1))

round函数

round(x, n)函数:返回浮点数x的四舍五入的值,n是保留几位小数


print(round(123.45,-1))
print(round(123.45,0))
print(round(123.4))
print(round(123.456,1))
print(round(123.456,2))

猿创征文|Python快速刷题网站——牛客网 数据分析篇(十二)_第2张图片

总结:本章主要内容为最大值、最小值以及平均值,次要内容是记住求小数的round()函数,内容不难,手敲一遍,跟着题目过一遍就能牢牢记住。

你可能感兴趣的:(牛客,数据分析练习之路,python,数据分析,pandas,numpy,jupter)