【Nowcoder牛客刷题记录】——Python数据分析(一)

简介: 【Nowcoder牛客刷题记录】——Python数据分析(一)

一、查看数据


DA1 用pandas查看牛客网用户数据

13da90e541da415dbfc41f17b9e913ce.png


importpandasaspdNowcoder=pd.read_csv('Nowcoder.csv',sep=',',dtype=object)
print(Nowcoder.head(6))

打开文件时需要添加dtype=object,防止年份信息读取为小数。


DA2 牛客网用户数据集的大小

9c7f303e85e34a2dafb5e37af81cabc6.png


importpandasaspdNowcoder=pd.read_csv('Nowcoder.csv',sep=',',dtype=object)
print(Nowcoder.shape)


DA3 牛客网的第10位用户

7394fde3f85d449595d9b48d5c6e8b8a.png


importpandasaspdNowcoder=pd.read_csv('Nowcoder.csv',sep=',',dtype=object)
print(Nowcoder.loc[10])
  • loc :  Selection by Label ,按标签取数据, loc[行索引,列名/column]  (如果第二个参数的个数是全部即 : ,可以省略不写)。

例:


print(df.loc[1,'name'])    #索引1(行),名为‘name’的列
  • iloc :  Selection by Position,即按位置选择只接受整型参数。不接受列字段名称作为参数,只支持列字段的位置索引作为参数。iloc[行索引,列索引](没有逗号及以后就是默认列为所有列)

例:


print(df.iloc[1,0])   #第2行第1列的值


DA4 统计牛客网部分用户使用语言

2ccb64970e0d47bb8fcadb3fff953b31.png

importpandasaspdNowcoder=pd.read_csv('Nowcoder.csv')
print(Nowcoder.loc[10:20, 'Language'])


二、数据索引


DA5 牛客网用户没有补全的信息

3778e363fa8542c3b32093bc966b7f33.png


importpandasaspdNowcoder=pd.read_csv("Nowcoder.csv", sep=",", dtype=object)
print(Nowcoder.isna().any())
#Python中any () 函数的基本使用:any () 函数用于判断给定的可迭代参数iterable是否都为False,如果是,any ()操作后的结果返回False,如果给定的可迭代参数iterable其中有一个为True,any ()操作后的结果则返回True。#axis=0:方向沿着列;axis=1方向沿着行

DA6 查看牛客网哪些用户使用Python

edd9a78644bf41df8773fe17736fc392.png


importpandasaspdNowcoder=pd.read_csv("Nowcoder.csv", sep=",", dtype=object)
print(Nowcoder[Nowcoder["Language"] =="Python"])

DA7 牛客网Python用户的成就值

0e9e698df3a64be2b78fe723bb573f46.png


importpandasaspdNowcoder=pd.read_csv("Nowcoder.csv", sep=",")
print(Nowcoder[Nowcoder["Language"] =="Python"]["Achievement_value"])
#print(Nowcoder.query('Language=="Python"')['Achievement_value'])
#print(Nowcoder.query('Language=="Python"').Achievement_value)

DA8 文件最后用户的部分数据

37a026fcbaf1483f8cc77cc93ec8e314.png


importpandasaspdNowcoder=pd.read_csv("Nowcoder.csv", sep=",")
a=Nowcoder.tail(5)
print(a[["Nowcoder_ID", "Level", "Achievement_value", "Language"]])


三、逻辑运算


DA9 2020年毕业的人中最喜欢用Java的用户

43b8cf3030504174be4e6ed92eaf89f2.png


importpandasaspdNowcoder=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)#设置显示最大列print(Nowcoder[(Nowcoder['Graduate_year']==2020)&(Nowcoder['Language']=='Java')])

DA9 牛客网C系用户们的信息

1616f9033d7f4de3926bcac52eea3c94.png


importpandasaspdNowcoder=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)
print(Nowcoder[Nowcoder["Language"].isin(["CPP", "C", "C#"])])
#isin()函数:用来清洗数据,删选过滤掉Dateframe中的一些行,直接用返回的是bool值,然后放入Nowcoder[  {内容} ]中,则返回返回为True的数据行#print(Nowcoder.query("Language == 'CPP' or Language == 'C'"))
#query()函数查找Languague列中的CPP、C

DA10 统计牛客网刷题数量500以上的大佬

55f92504f8e04414b4fe921e1fca3e47.png


importpandasaspdNowcoder=pd.read_csv('Nowcoder.csv',sep=',')
Nowcoder=Nowcoder[['Level','Achievement_value']]
print(Nowcoder[Nowcoder['Achievement_value']>=500])

DA11 按照毕业年份与使用语言筛选牛客网7级用户

b9c26f3652e3477795a6d7f4d2b5eaf4.png


importpandasaspdNowcoder=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)
print(Nowcoder.query("Level==7 and Language=='CPP' and Graduate_year!=2018"))


四、中级函数


DA12 牛客网不同语言使用人数

91c744fde5554c8dba24957556007bac.png


importpandasaspdNowcoder=pd.read_csv('Nowcoder.csv', sep=',')
print(Nowcoder['Language'].value_counts())

DA13 牛客网用户最近的最长与最短连续签到天数

351effcacdba4dc7a12f0c015eced019.png


importpandasaspdNowcoder=pd.read_csv('Nowcoder.csv', sep=',')
#最长day_max=Nowcoder['Continuous_check_in_days'].max()
#最短day_min=Nowcoder['Continuous_check_in_days'].min()
print(day_max, '\n', day_min)

DA14 Python用户的平均提交次数

251e2a4b1d194bdfb3e247fcf7f1f955.png

importpandasaspdNowcoder=pd.read_csv('Nowcoder.csv', sep=',')
print((Nowcoder.query("Language == 'Python'")['Number_of_submissions'].mean().round(1)))

DA15 牛客网用户等级的中位数

ac1d1bf4f32f475db305f5a8229a1541.png


/

importpandasaspdNowcoder=pd.read_csv('Nowcoder.csv', sep=',')
print(int(Nowcoder[Nowcoder['Num_of_exercise']>=10]['Level'].median()))

DA16 用户常用语言有多少

fe578dc713554e03ac0a0783f0f49cc0.png


importpandasaspdNowcoder=pd.read_csv('Nowcoder.csv', sep=',')
#unique()方法返回的是去重之后的不同值,而nunique()方法则直接放回不同值的个数print(Nowcoder.Language.nunique())
print(Nowcoder.Language.tolist())

DA17 牛客网最多的用户等级

773d5d6910474546a2566924163a208c.png


importpandasaspdNowcoder=pd.read_csv('Nowcoder.csv', sep=',')
print(pd.DataFrame(Nowcoder['Level'].mode(), columns=['Level']))

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

44a16548b23c48368108afdd60b4dece.png


importpandasaspdNowcoder=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))

DA19 牛客网大佬之间的差距

ca1d284cd8754993ba4403571947b802.png

importpandasaspdNowcoder=pd.read_csv('Nowcoder.csv', sep=',')
a=Nowcoder[Nowcoder['Level']==7]['Achievement_value'].max()
b=Nowcoder[Nowcoder['Level']==7]['Achievement_value'].min()
print(int(a-b))

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

9a7a7ac03d584f37a36ad5235eeeb588.png


importpandasaspdNowcoder=pd.read_csv('Nowcoder.csv', sep=',')
#用户刷题量的方差A=Nowcoder['Num_of_exercise'].var()
print('%.2f'%A)
#提交代码次数的标准差B=Nowcoder.iloc[:,7].std()
print('%.2f'%B)
'''#pandas中的var函数可以得到样本方差(注意不是总体方差)#std函数可以得到样本标准差,若要得到某一行或某一列的方差,则也可用iloc选取某行或某列,后面再跟var函数或std函数即可df.var()            #显示每一列的方差df.var(axis=1)    #显示每一行的方差df.std()            #显示每一列的标准差df.std(axis=1)    #显示每一行的标准差df.iloc[0, :].std() #显示第1行的标准差df.iloc[:, 2].std() #显示第3列的标准差'''


DA21 大佬用户成就值比例

396f3f65a7b34cacb4a743f3764c35ab.png


importpandasaspdNowcoder=pd.read_csv('Nowcoder.csv', sep=',')
nc=Nowcoder.loc[Nowcoder['Level']==7]
print(nc['Achievement_value']/Nowcoder['Achievement_value'].sum())

DA22 牛客网用户最高的正确率

45104de459124199836130b6c8bd1a1d.png


importpandasaspdNowcoder=pd.read_csv("Nowcoder.csv")
n1=Nowcoder[Nowcoder["Num_of_exercise"] >10]
n2=n1.Num_of_exercise/n1.Number_of_submissionsprint(n2.max().round(3))

DA23 统计牛客网用户的名字长度

b0b771bd1b314826a593f1fb3b616687.png


/

importpandasaspdNowcoder=pd.read_csv('Nowcoder.csv', sep=',')
print(Nowcoder['Name'].apply(lambdax : len(x)))
#print(df['Name'].str.len())


目录
相关文章
|
2月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析的入门指南
本文将引导读者了解如何使用Python进行数据分析,从安装必要的库到执行基础的数据操作和可视化。通过本文的学习,你将能够开始自己的数据分析之旅,并掌握如何利用Python来揭示数据背后的故事。
|
3月前
|
机器学习/深度学习 算法 数据挖掘
数据分析的 10 个最佳 Python 库
数据分析的 10 个最佳 Python 库
198 4
数据分析的 10 个最佳 Python 库
|
3月前
|
存储 数据可视化 数据挖掘
Python数据分析项目:抖音短视频达人粉丝增长趋势
Python数据分析项目:抖音短视频达人粉丝增长趋势
|
3月前
|
存储 数据可视化 数据挖掘
使用Python进行数据分析和可视化
本文将引导你理解如何使用Python进行数据分析和可视化。我们将从基础的数据结构开始,逐步深入到数据处理和分析的方法,最后通过实际的代码示例来展示如何创建直观的数据可视化。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧。让我们一起探索数据的世界,发现隐藏在数字背后的故事!
146 5
|
3月前
|
数据采集 存储 数据可视化
Python数据分析:揭秘"黑神话:悟空"Steam用户评论趋势
Python数据分析:揭秘"黑神话:悟空"Steam用户评论趋势
|
3月前
|
数据采集 数据可视化 数据挖掘
掌握Python数据分析,解锁数据驱动的决策能力
掌握Python数据分析,解锁数据驱动的决策能力
|
3月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第42天】本文将介绍如何使用Python进行数据分析和可视化。我们将从数据导入、清洗、探索性分析、建模预测,以及结果的可视化展示等方面展开讲解。通过这篇文章,你将了解到Python在数据处理和分析中的强大功能,以及如何利用这些工具来提升你的工作效率。
|
3月前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析的入门指南
【10月更文挑战第42天】本文是一篇技术性文章,旨在为初学者提供一份关于如何使用Python进行数据分析的入门指南。我们将从安装必要的工具开始,然后逐步介绍如何导入数据、处理数据、进行数据可视化以及建立预测模型。本文的目标是帮助读者理解数据分析的基本步骤和方法,并通过实际的代码示例来加深理解。
95 3
|
3月前
|
数据采集 数据可视化 数据挖掘
Python数据分析:Pandas库实战指南
Python数据分析:Pandas库实战指南
|
3月前
|
数据采集 数据可视化 数据挖掘
深入浅出:使用Python进行数据分析的基础教程
【10月更文挑战第41天】本文旨在为初学者提供一个关于如何使用Python语言进行数据分析的入门指南。我们将通过实际案例,了解数据处理的基本步骤,包括数据的导入、清洗、处理、分析和可视化。文章将用浅显易懂的语言,带领读者一步步掌握数据分析师的基本功,并在文末附上完整的代码示例供参考和实践。

热门文章

最新文章

推荐镜像

更多