当前位置: 首页 > news >正文

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

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

前言

本文将继续学习pandas 中级函数 部分内容

最多的用户等级

       现有一个Nowcoder.csv文件,它记录了牛客网的部分用户数据,包含如下字段(字段与字段之间以逗号间隔):
Nowcoder_ID:用户ID
Level:等级
Achievement_value:成就值
Num_of_exercise:刷题量
Graduate_year:毕业年份
Language:常用语言
Continuous_check_in_days:最近连续签到天数
Number_of_submissions:提交代码次数
Last_submission_time:最后一次提交题目日期
对于牛客网的等级制度,你很感兴趣,你想知道大部分人都在什么等级,你能找到文件中等级的众数吗?
请添加图片描述
输出描述:
输出等级列的众数。

请添加图片描述

  • 读题找出重点:文件中等级的众数
  • 使用mode()函数

所以我们直接使用mode函数Level列求取众数即可,代码如下:

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]
})
data.iloc[:,[1]].mode()

在这里插入图片描述

同样也可以先求众数,在找出Level列,顺序不同而已:

res = data['Level'].mode()
print(pd.DataFrame(res,columns = ['Level']))

在这里插入图片描述

最终代码整理如下:

DA17 牛客网最多的用户等级

import pandas as pd
 
Nowcoder = pd.read_csv('Nowcoder.csv', sep=',')
# print(Nowcoder.loc[:,['Level']].mode())
print(Nowcoder.iloc[:,[1]].mode())
# print(Nowcoder[['Level']].mode())
# # 2、先求众数,在新建一个列
# res = Nowcoder['Level'].mode()
# print(pd.DataFrame(res,columns = ['Level']))

用分位数分析用户活动

       现有一个Nowcoder.csv文件,它记录了牛客网的部分用户数据,包含如下字段(字段与字段之间以逗号间隔):
现要分析牛客网用户的活跃情况,请依次输出用户成就值与最近连续签到天数的四分之一分位数以及刷题量与代码提交次数的四分之三分位数。
输入描述:
数据集直接从当前目录下的Nowcoder.csv文件中读取。
请添加图片描述

输出描述:
按照上述要求输出分位数,两种之间换行。
请添加图片描述

  • 读题找出重点:用户成就值与最近连续签到天数的四分之一分位数以及刷题量与代码提交次数的四分之三分位数
  • pandas模块中的分位函数:quantile()函数numpy.quantile()也可以使用)

DataFrame.quantile(q=0.5, axis=0, numeric_only=_NoDefault.no_default, interpolation=‘linear’, method=‘single’)
默认只需要改q即可,对应分位大小:Value between 0 <= q <= 1, the quantile(s) to compute.---->可以是array,也可以是float---->也就是说你可以说输入数组,也可以输入浮点数

不用多说啥,直接分别找出四个字段的四分位点即可,代码如下:

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":[1230,10,45,564,1349],
    "Number_of_submissions":[120,1,2,1,3]
})
print(data[["Achievement_value", "Continuous_check_in_days"]].quantile(q=0.25))
print(data[["Num_of_exercise", "Number_of_submissions"]].quantile(q=0.75))

最终代码整理如下:

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

import pandas as pd

Nowcoder = pd.read_csv("Nowcoder.csv", sep=",")
print(Nowcoder[["Achievement_value", "Continuous_check_in_days"]].quantile(q=0.25))
print(Nowcoder[["Num_of_exercise", "Number_of_submissions"]].quantile(q=0.75))

相关文章:

  • 【元宇宙】元宇宙的定义、特征、要素及架构
  • 4、“组件协作“模式
  • 刚开始做自媒体,无从下手,有什么好的建议吗?
  • 2022 华为杯研赛F题思路 研究生数学建模
  • Opencv项目实战:12 你这背景太假啦!
  • python解CCF-CSP真题《202209-1 如此编码》
  • 数据分析可视化08 案例 2:历史数据变化趋势图设计
  • Redis-缓存击穿
  • 信息学奥赛一本通:2072:【例2.15】歌手大奖赛
  • 【Linux】进程控制 (万字)
  • ARMv9新特性:虚拟内存系统架构 (VMSA) 的增强功能
  • 【JavaSE】之流程控制与方法
  • SpringCloud——网关1
  • 『Android基础入门』ViewPager+Fragment+BottomNavigationView实现底部导航
  • Regmap子系统:(寄存器映射)
  • 345-反转字符串中的元音字母
  • C++类中的特殊成员函数
  • JavaScript实现分页效果
  • Sequelize 中文文档 v4 - Getting started - 入门
  • vue 配置sass、scss全局变量
  • 开源地图数据可视化库——mapnik
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 项目实战-Api的解决方案
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • mysql面试题分组并合并列
  • 昨天1024程序员节,我故意写了个死循环~
  • $L^p$ 调和函数恒为零
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (vue)页面文件上传获取:action地址
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (转载)(官方)UE4--图像编程----着色器开发
  • .NET gRPC 和RESTful简单对比
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • .NET命令行(CLI)常用命令
  • @Transactional 详解
  • [ Algorithm ] N次方算法 N Square 动态规划解决
  • [2008][note]腔内级联拉曼发射的,二极管泵浦多频调Q laser——
  • [2024最新教程]地表最强AGI:Claude 3注册账号/登录账号/访问方法,小白教程包教包会
  • [ajaxupload] - 上传文件同时附件参数值
  • [BZOJ1178][Apio2009]CONVENTION会议中心
  • [CareerCup] 13.1 Print Last K Lines 打印最后K行
  • [ES-5.6.12] x-pack ssl
  • [hdu 3746] Cyclic Nacklace [kmp]
  • [LeetBook]【学习日记】数组内乘积
  • [linux] 创建用户
  • [Mvc]在ASP.NET MVC中使用Repeater
  • [Paper]Cardiologist-Level Arrhythmia Detection with Convolutional Neural Networks
  • [Poj 1015] Jury Compromise 解题报告 (完全背包)
  • [SAP] ABAP注释快捷键修改
  • [zabbix] zabbix监控其他
  • [编程技巧] C++中优化BOOL 变量的声明
  • [导入]对于adapter模式的类示配模式的java和c#的语法比较
  • [概述] 获取点云数据的仪器
  • [个人]分享ubuntu
  • [每周软件]:Cucumber:Hello World