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

Python快速刷题网站——牛客网 数据分析篇(十五)

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

前言

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

大佬之间的差距

       现有一个Nowcoder.csv文件,它记录了牛客网的部分用户数据,包含如下字段(字段与字段之间以逗号间隔):
牛客网有很多7级红名大佬,这是众所周知的,但是小白想知道这些大佬的成就值之间有没有什么不同,于是他想从这份文件中输出7级用户中最高成就值与最低成就值之差。
输入描述:
数据集直接从当前目录下的Nowcoder.csv文件中读取。
请添加图片描述

输出描述:
直接输出计算结果,为整数。

  • 读题找出重点:7级用户中最高成就值与最低成就值之差
  • 使用max()/min函数计算得出差值(以程序的形式进行加减运算)
# DA21 大佬用户成就值比例
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['Level']==7]['Achievement_value'].max()-data[data['Level']==7]['Achievement_value'].min())

在这里插入图片描述
       以上思想是在一列中直接拿到最小值,也可以先找到对应列再取最小值,代码上有细微差距,如下:

print(max(data[data["Level"]==7]["Achievement_value"])-min(data[data["Level"]==7]["Achievement_value"]))

最终代码整理如下:

DA19 牛客网大佬之间的差距

import pandas as pd
 
Nowcoder = pd.read_csv('Nowcoder.csv', sep=',')
print(int(Nowcoder[Nowcoder['Level']==7]['Achievement_value'].max()-Nowcoder[Nowcoder['Level']==7]['Achievement_value'].min()))

用户刷题量的方差与提交次数的标准差

       现有一个Nowcoder.csv文件,它记录了牛客网的部分用户数据,包含如下字段(字段与字段之间以逗号间隔):
假如牛牛正在统计用户的刷题情况,需要知道用户刷题量的方差以及提交代码次数的标准差,你能够帮助他吗?

输入描述:
数据集直接从当前目录下的Nowcoder.csv文件中读取。
请添加图片描述

输出描述:
直接输出计算的结果,各自保留两位小数,第一行为方差,第二行为标准差。

  • 读题找出重点:用户刷题量的方差、提交代码次数的标准差
  • 使用var()/min函数计算得出方差和标准差

       众所周知,pandas是可以对一列进行共同运算的,以前使用sum()可以,使用max()/min()可以,那同理,方差和标准差也可以

# DA21 大佬用户成就值比例
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['Num_of_exercise'].var(),2))
print(round(data['Number_of_submissions'].std(),2))

在这里插入图片描述

       我们也可以使用pandas中内置的rounds函数,意义也是一样的,如下:

# 方差
print(Nowcoder['Num_of_exercise'].var().round(2))
# 标准差
print(Nowcoder['Number_of_submissions'].std().round(2))

最终代码整理如下:

DA20 牛客用户刷题量的方差与提交次数的标准差

import pandas as pd
 
Nowcoder = pd.read_csv('Nowcoder.csv', sep=',')
 # 方差
print(round(Nowcoder['Num_of_exercise'].var(),2))
# 标准差
print(round(Nowcoder['Number_of_submissions'].std(),2))
# 方差
print(Nowcoder['Num_of_exercise'].var().round(2))
# 标准差
print(Nowcoder['Number_of_submissions'].std().round(2))

相关文章:

  • 网站开发 软文/百度词条优化工作
  • 做网站哪个公司/西安网站建设公司
  • 东莞专业网/seo的外链平台有哪些
  • 网页搭配/vue seo优化
  • 做爰全过程免费费网站/看颜色应该搜索哪些词汇
  • 做各企业网站大概多少钱/吉林seo刷关键词排名优化
  • Gated-SCNN: Gated Shape CNNs for Semantic Segmentation
  • 实用水文篇--SpringBoot整合Netty实现消息推送服务器
  • 使用JS和CSS实现图片的3D透视效果及动画
  • LeetCode栈与队列应用——739.每日温度
  • 那些年我用国产内网穿透工具cpolar干的事
  • 【NLP开发】Python实现聊天机器人(微软Azure机器人服务)
  • Blog ACM竞赛
  • 物联网平台ThingsBoard源码讲解
  • 动态加载APP运行(原理篇)
  • 【韩顺平老师讲MySQL】创建数据库和表以及备份数据库
  • 四十、C++ Web编程
  • C · 初阶 | 数组?看一遍就够了