一个帅气的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))
注意:两者速度也有一定区别,发现在很少量数据下第二种方式可能更快一点,但是随着数据量增多,第一种方式更占优。
最终代码整理如下:
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用户都平均提交了多少次代码来认识,请你帮他找一找。
输入描述:
输出描述:
直接输出计算的平均数,直接输出,保留一位小数。
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))
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(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))
总结:本章主要内容为最大值、最小值以及平均值,次要内容是记住求小数的round()函数,内容不难,手敲一遍,跟着题目过一遍就能牢牢记住。