牛客网Python篇数据分析习题(四)

简介: .现有一个Nowcoder.csv文件,它记录了牛客网的部分用户数据,包含如下字段(字段与字段之间以逗号间隔)

1.现有一个Nowcoder.csv文件,它记录了牛客网的部分用户数据,包含如下字段(字段与字段之间以逗号间隔):

Nowcoder_ID:用户ID

Level:等级

Achievement_value:成就值

Num_of_exercise:刷题量

Graduate_year:毕业年份

Language:常用语言

Continuous_check_in_days:最近连续签到天数

Number_of_submissions:提交代码次数

Last_submission_time:最后一次提交题目日期

运营同学正在做用户调研,为了保证调研的可靠性,想要去掉那些信息不全的用户,即去掉有缺失数据的行,请你帮助他去掉后输出全部数据。

660ae4e9e9d47440a15fae0a3c4f3cba_5a04028310b74932b5f651e9dbd5c571.png

import pandas as pd
nd = pd.read_csv("Nowcoder.csv", sep=",", dtype=object)
pd.set_option("display.width", 300) 
pd.set_option("display.max_rows", None) 
pd.set_option("display.max_columns", None)
nd.dropna(axis=0, inplace=True)
print(nd)

2.现有一个Nowcoder.csv文件,它记录了牛客网的部分用户数据,包含如下字段(字段与字段之间以逗号间隔):

Nowcoder_ID:用户ID

Level:等级

Achievement_value:成就值

Num_of_exercise:刷题量

Graduate_year:毕业年份

Language:常用语言

Continuous_check_in_days:最近连续签到天数

Number_of_submissions:提交代码次数

Last_submission_time:最后一次提交题目日期

运营同学拿到了这份用户文件,但是由于系统BUG,出现了部分缺失的值,请你使用当前的最大年份填充缺失的毕业年份(“Graduate_year”),用Python填充缺失的常用语言(“Language”),用成就值的均值(四舍五入保留整数)填充缺失的成就值(“Achievement_value”)。

b7e763b343b1be42e74cf80e96d1ce05_8806d994b2094b649a3531b005543431.png

import pandas as pd
nd = pd.read_csv("Nowcoder.csv", sep=",")
pd.set_option("display.width", 300)
pd.set_option("display.max_rows", None)
pd.set_option("display.max_columns", None)
nd["Graduate_year"].fillna(nd["Graduate_year"].max(), inplace=True)
nd["Language"].fillna("Python", inplace=True)
nd["Achievement_value"].fillna(int(nd["Achievement_value"].mean()), inplace=True)
print(nd)

3.现有一个Nowcoder.csv文件,它记录了牛客网的部分用户数据,包含如下字段(字段与字段之间以逗号间隔):

Nowcoder_ID:用户ID

Level:等级

Achievement_value:成就值

Num_of_exercise:刷题量

Graduate_year:毕业年份

Language:常用语言

Continuous_check_in_days:最近连续签到天数

Number_of_submissions:提交代码次数

Last_submission_time:最后一次提交题目日期

牛牛拿到这份文件的时候一脸懵逼,因为系统错误将很多相同用户的数据输出了多条,导致文件中有很多重复的行,请先检查每一行是否重复,然后输出删除重复行后的全部数据。

7bdc1c8a9e4cb430a582447f84c95b31_8e0dbbd0d86b4c75b7ae1e28dcb53242.png

import pandas as pd
nd=pd.read_csv('Nowcoder.csv')
print(nd.duplicated())
print(nd.drop_duplicated(0))

4.现有一个Nowcoder.csv文件,它记录了牛客网的部分用户数据,包含如下字段(字段与字段之间以逗号间隔):

Nowcoder_ID:用户ID

Level:等级

Achievement_value:成就值

Num_of_exercise:刷题量

Graduate_year:毕业年份

Language:常用语言

Continuous_check_in_days:最近连续签到天数

Number_of_submissions:提交代码次数

Last_submission_time:最后一次提交题目日期

运营同学发现最后一次提交题目日期这一列有各种各样的日期格式,这对于他分析用户十分不友好,你能够帮他输出用户ID、等级以及统一后的日期吗?(日期格式统一为yyyy-mm-dd)

af472351c93ad19e66f9c1b9dfea6d0d_dc052a65c0fb4099a553c8c4e5f03f15.png

import pandas as pd
nd = pd.read_csv("Nowcoder.csv", sep=",", dtype=object)
nd["Last_submission_time"] = pd.to_datetime(
    nd["Last_submission_time"], format="%Y-%m-%d")
print(nd[["Nowcoder_ID", "Level", "Last_submission_time"]])

5.现有一个Nowcoder.json文件,它记录了牛客网的部分用户数据,包含如下字段(字段与字段之间以逗号间隔):

Nowcoder_ID:用户ID

Level:等级

Achievement_value:成就值

Graduate_year:毕业年份

Language:常用语言

如果你读入了这个json文件,能将其转换为pandas的DataFrame格式吗?

4b51f75adb089838fd9ad43482d5e8aa_f3f2292983be4e4b87f1def873f49d75.png

import pandas as pd
import json
pd.set_option("display.width", 300)
pd.set_option("display.max_rows", None)
pd.set_option("display.max_columns", None)
with open("Nowcoder.json", "r") as f:
    data = json.loads(f.read())
print(pd.DataFrame(data))

6.现有牛客网12月每天练习题目情况的数据集nowcoder.csv。包含如下字段(字段之间用逗号分隔):

user_id:用户id

question_id:问题编号

result:运行结果

date:练习日期

请你统计2021年12月每天练习题目的数量。

bf75d97a7addabb64443a18c3da16815_1bcc93cf2e3048309bbcc2aa45f67582.png

import pandas as pd
nowcoder = pd.read_csv("nowcoder.csv", parse_dates=True, index_col="date")
nd_num = nowcoder.groupby("date")["question_id"].count()
print(nd_num)

7.现有牛客网12月每天练习题目情况的数据集nowcoder.csv。包含如下字段(字段之间用逗号分隔):

user_id:用户id

question_id:问题编号

result:运行结果

date:练习日期

现需要查看用户在某天练习后第二天还会再来练习的留存情况,请计算用户练习的平均次日留存率。

d55b3796ac98511d37c979678774253e_03eca3d2a6c44cf99b6ae55c74d5ce25.png

import pandas as pd
from datetime import timedelta
df = pd.read_csv("nowcoder.csv", sep=",")
tit_id = df["user_id"].count()
nd = pd.merge(df, df, on="user_id")
nd["date_x"] = pd.to_datetime(nd.date_x).dt.date
nd["date_y"] = pd.to_datetime(nd.date_y).dt.date
nd["differ"] = nd["date_x"] - nd["date_y"]
sum_id = nd[nd.differ == "1 days"]["differ"].count()
res = round(sum_id / tit_id, 2)
print(res)

8.现有牛客网12月每天练习题目的数据集nowcoder.csv。包含如下字段(字段之间用逗号分隔):

user_id:用户id

question_id:问题编号

result:运行结果

date:练习日期

请你统计2021年12月答题结果正确和错误的前提下每天的答题次数。

272a216aa4a4f9ad29e866cf36a47c45_179da4a3abb44a7ab7d82db3c7265078.png

import pandas as pd
df = pd.read_csv("nowcoder.csv")
df.rename(columns={"date": "year-month-day"}, inplace=True)
nd = df.groupby(["result", "year-month-day"])["question_id"].count()
print(nd)
相关文章
|
16天前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
45 0
|
11天前
|
机器学习/深度学习 数据采集 数据挖掘
解锁 Python 数据分析新境界:Pandas 与 NumPy 高级技巧深度剖析
Pandas 和 NumPy 是 Python 中不可或缺的数据处理和分析工具。本文通过实际案例深入剖析了 Pandas 的数据清洗、NumPy 的数组运算、结合两者进行数据分析和特征工程,以及 Pandas 的时间序列处理功能。这些高级技巧能够帮助我们更高效、准确地处理和分析数据,为决策提供支持。
26 2
|
17天前
|
存储 数据挖掘 数据处理
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第26天】Python 是数据分析领域的热门语言,Pandas 库以其高效的数据处理功能成为数据科学家的利器。本文介绍 Pandas 在数据读取、筛选、分组、转换和合并等方面的高效技巧,并通过示例代码展示其实际应用。
30 2
|
23天前
|
数据采集 数据可视化 数据挖掘
R语言与Python:比较两种数据分析工具
R语言和Python是目前最流行的两种数据分析工具。本文将对这两种工具进行比较,包括它们的历史、特点、应用场景、社区支持、学习资源、性能等方面,以帮助读者更好地了解和选择适合自己的数据分析工具。
24 2
|
8天前
|
并行计算 数据挖掘 大数据
Python数据分析实战:利用Pandas处理大数据集
Python数据分析实战:利用Pandas处理大数据集
|
8天前
|
数据采集 数据可视化 数据挖掘
利用Python进行数据分析:Pandas库实战指南
利用Python进行数据分析:Pandas库实战指南
|
10天前
|
SQL 数据挖掘 Python
数据分析编程:SQL,Python or SPL?
数据分析编程用什么,SQL、python or SPL?话不多说,直接上代码,对比明显,明眼人一看就明了:本案例涵盖五个数据分析任务:1) 计算用户会话次数;2) 球员连续得分分析;3) 连续三天活跃用户数统计;4) 新用户次日留存率计算;5) 股价涨跌幅分析。每个任务基于相应数据表进行处理和计算。
|
11天前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第33天】本文将介绍如何使用Python编程语言进行数据分析和可视化。我们将从数据清洗开始,然后进行数据探索性分析,最后使用matplotlib和seaborn库进行数据可视化。通过阅读本文,你将学会如何运用Python进行数据处理和可视化展示。
|
22天前
|
数据采集 机器学习/深度学习 数据可视化
深入浅出:用Python进行数据分析的入门指南
【10月更文挑战第21天】 在信息爆炸的时代,掌握数据分析技能就像拥有一把钥匙,能够解锁隐藏在庞大数据集背后的秘密。本文将引导你通过Python语言,学习如何从零开始进行数据分析。我们将一起探索数据的收集、处理、分析和可视化等步骤,并最终学会如何利用数据讲故事。无论你是编程新手还是希望提升数据分析能力的专业人士,这篇文章都将为你提供一条清晰的学习路径。
|
1月前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据处理与可视化——以气温数据分析为例
【10月更文挑战第12天】使用Python进行数据处理与可视化——以气温数据分析为例
187 0