【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())


目录
相关文章
|
1月前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
64 0
|
17天前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第42天】本文将介绍如何使用Python进行数据分析和可视化。我们将从数据导入、清洗、探索性分析、建模预测,以及结果的可视化展示等方面展开讲解。通过这篇文章,你将了解到Python在数据处理和分析中的强大功能,以及如何利用这些工具来提升你的工作效率。
|
26天前
|
机器学习/深度学习 数据采集 数据挖掘
解锁 Python 数据分析新境界:Pandas 与 NumPy 高级技巧深度剖析
Pandas 和 NumPy 是 Python 中不可或缺的数据处理和分析工具。本文通过实际案例深入剖析了 Pandas 的数据清洗、NumPy 的数组运算、结合两者进行数据分析和特征工程,以及 Pandas 的时间序列处理功能。这些高级技巧能够帮助我们更高效、准确地处理和分析数据,为决策提供支持。
39 2
|
1月前
|
存储 数据挖掘 数据处理
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第26天】Python 是数据分析领域的热门语言,Pandas 库以其高效的数据处理功能成为数据科学家的利器。本文介绍 Pandas 在数据读取、筛选、分组、转换和合并等方面的高效技巧,并通过示例代码展示其实际应用。
38 2
|
2月前
|
数据采集 数据可视化 数据挖掘
R语言与Python:比较两种数据分析工具
R语言和Python是目前最流行的两种数据分析工具。本文将对这两种工具进行比较,包括它们的历史、特点、应用场景、社区支持、学习资源、性能等方面,以帮助读者更好地了解和选择适合自己的数据分析工具。
36 2
|
16天前
|
数据采集 数据可视化 数据挖掘
掌握Python数据分析,解锁数据驱动的决策能力
掌握Python数据分析,解锁数据驱动的决策能力
|
24天前
|
并行计算 数据挖掘 大数据
Python数据分析实战:利用Pandas处理大数据集
Python数据分析实战:利用Pandas处理大数据集
|
24天前
|
数据采集 数据可视化 数据挖掘
利用Python进行数据分析:Pandas库实战指南
利用Python进行数据分析:Pandas库实战指南
|
26天前
|
SQL 数据挖掘 Python
数据分析编程:SQL,Python or SPL?
数据分析编程用什么,SQL、python or SPL?话不多说,直接上代码,对比明显,明眼人一看就明了:本案例涵盖五个数据分析任务:1) 计算用户会话次数;2) 球员连续得分分析;3) 连续三天活跃用户数统计;4) 新用户次日留存率计算;5) 股价涨跌幅分析。每个任务基于相应数据表进行处理和计算。
|
26天前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第33天】本文将介绍如何使用Python编程语言进行数据分析和可视化。我们将从数据清洗开始,然后进行数据探索性分析,最后使用matplotlib和seaborn库进行数据可视化。通过阅读本文,你将学会如何运用Python进行数据处理和可视化展示。