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

🖱 ⌨个人主页: Love And Program的个人主页
💖💖如果对你有帮助的话希望三连💨💨支持一下博主

在这里插入图片描述

        python是目前非常火爆的语言,其在人工智能、数据分析领域都占有一席之地,无论是学习还是工作,都会给你带来相当大的帮助,因此我在这给大家 推荐一个快速提升自己的网站👉👉 牛客网,他们现在的IT题库内容很丰富,属于国内做的很好的了,可以在下图中看见里面试题应有尽有,现在这个系列是数据分析系列,里面同样也有人工智能系列的题目

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

系列专栏链接:

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

前言

       继续学习中级函数 部分内容。

用户等级的中位数

       现有一个Nowcoder.csv文件,它记录了牛客网的部分用户数据,包含如下字段(字段与字段之间以逗号间隔):
       牛客网运营同学有一个活动,需要统计所有用户等级的中位数,但是为了去掉一些非常不活跃的账号,于是他们只统计刷题数量不低于10题的那部分用户。
输入描述:
请添加图片描述
输出描述:
直接输出计算的中位数,输出类型为整型Int。

  • 读题找出重点:所有用户等级的中位数
  • median()函数->手册地址
  • 通过翻译手册内容,我们可以了解到,两者都是返回所选行列数值的平均值,本质上只有返回格式不同的差异。

本地代码测试如下:
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]
})
int(data[data['Num_of_exercise'] > 10]['Level'].median())
#原本为605,为符合题意,加入int后只取整数部分,固为6

在这里插入图片描述
以上为Series写法,你甚至可以使用DataFrame写法尝试一遍,结果也是一样的,代码如下:

data2=pd.DataFrame()
data2.insert(0,'Level',data[data['Num_of_exercise'] > 10]['Level'])
int(data2.median())

在这里插入图片描述

最终代码整理如下:
DA15 牛客网用户等级的中位数

import pandas as pd
Nowcoder = pd.read_csv('Nowcoder.csv', sep=',')
# 1、
print(int(Nowcoder[Nowcoder['Num_of_exercise'] > 10]['Level'].median()))
# 2、
data= pd.DataFrame()
data.insert(0,'Level',Nowcoder[Nowcoder['Num_of_exercise'] > 10]['Level'])
print(int(data.median()))
# 3、
print(int(Nowcoder.loc[Nowcoder['Num_of_exercise'] > 10,:].Level.median()))

用户常用语言有多少

       现有一个Nowcoder.csv文件,它记录了牛客网的部分用户数据,包含如下字段(字段与字段之间以逗号间隔):
       你想知道这个文件中记录了多少种常用语言,一并输出这些语言的名字。
输入描述:
请添加图片描述
输出描述:
直接输出计算的种类数,输出类型为整型Int。
换行再输出有哪些语言,排序按照在csv中的出现顺序排布
请添加图片描述

  • 读题找出重点:输出常用语言的名字
  • nunique()/unique()函数
  1. unique()

Return unique values of Series object.

  • 翻译:返回序列对象的唯一值,即统计序列中不同的值。
  1. nunique()

Return number of unique elements in the object.

  • 翻译:返回返回对象中唯一元素的数目,即统计序列中不同元素的数目

实现代码:

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','C','Python'],
    "Number_of_submissions":[120,1,2,1,3]
})
print(int(data['Language'].nunique()))
print(data['Language'].unique())

在这里插入图片描述

最终代码整理如下:
DA15 牛客网用户等级的中位数

import pandas as pd

Nowcoder = pd.read_csv('Nowcoder.csv', sep=',')
print(int(Nowcoder['Language'].nunique()))
print(Nowcoder['Language'].unique())

目前还是记函数部分,不难记,多尝试练熟了就简单了

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Love And Program

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值