哈喽,大家晚上好,首先问大家一个问题,一个班级语文测试,我们如何能够找出分数最高和最低的学生?是不是很简单?有朋友就说了用max和min函数就行了!那么问题来了,如果我想要找出成绩前5和倒数5名的学生呢?我们就需要用到nlargeat和nsmallest两个函数了:
1.查找最大值和最小值
首先我们还是沿用之前的中国各地区结婚登记的数据:
第一步,首先读取数据:
pd.read_csv('中国各地区结婚登记数据集.csv',encoding='utf8',index_col=0)
第二步,计算2019年结婚数量最多和最少的的数值:
m=df['2019年'].max()
n=df['2019年'].min()
第三步,找到结婚人数最多和最少的所在地区,我们可以看到是河南省是结婚醉倒的地区,西藏是结婚最少的地区。
df[df['2019年']==m]
df[df['2019年']==n]
2.查找前3最大值和后3最小值:
这时我们就需要用到nlargeat和nsmallest两个函数了:
首先说下他们的用法:
dataframe.nlargest(n,列名,keep)
dataframe.nsmalles(n,列名,keep)
我们可以看到它有三个参数,分别代表的意义如下:
n:代表前几个最大数。
列名:表示我们需要从哪一列中选出最大值或最小值,可以是单独的值或列表。
keep;主要有三个对应的值,通常用于当最大值数值或最小值相同时,选择的数据,默认为frist,代表第一次出现的作为最大值或最小值,last,代表最后一个出现的作为最大值或最小值,all代表,相同的数值同时显示。
①找出2019年结婚人数最多和最少的前三个地区:
m=df.nlargest(3,'2019年')
n=df.nsmallest(3,'2019年')
大家可以2019年同样数值的不同省份,看看keep分别为first、last、all的时候的用法。
好了,今天的文章咱们就先到这里啦!明天见喽!
,