好久没有更新数据分析相关的内容,大家都知道数据分析的练习题不好找,博主这些天找的一个可以在线练习的网站推荐给大家 👉牛客网 往后的Pandas练习题从这里找。
刚开始的入门题我就不再进行介绍了,大家自己练习一下顺便学会使用这个网站,需要注意的是因为是数据分析,设计到导入文件,所以没有办法进行自测运行只能提交后测试结果。
直达试题,快人一步
题意分析:
通过简单的读题,我们能够发现题目主要就是判断某一列中是否有空值,如果该列有空值 就返回 True 没有空值就返回False
题解:
import pandas as pd
# 导入数据
df = pd.read_csv("Nowcoder.csv")
# 判断某一类是否出现空值
print(df.isnull().any())
相关函数讲解
isnull()
判断数据是否为空,对象可以是DataFrame
,也可以是Series
.any()
只要出现一个True
就返回True
,否则返回False
.all()
和any对立,只有所有的内容为空返回 True
,否则返回 False
DataFrame对象调用
any,all
会根据axis 参数进判断一列或一行的数据 ,axis=0
列axis=1
行默认为列
创建数据
判断那一列出现空值
df.isnull().any(axis=0)
# axis=0 不写也可以
判断那一列的数据全为空
df.isnull().all()
题意分析:
题目中主要想找到常用语言为Python的人的全部信息,因此我们要先找到使用语言为Python的的索引,再根据索引去找这些人的全部信息
题解:
import pandas as pd
df = pd.read_csv('Nowcoder.csv',dtype=object)
# df['Language'] == 'Python'] 将Language中的数据依次比较,等于Python的返回True,不等于的返回False
print(df[df['Language'] == 'Python'])
import pandas as pd
df = pd.read_csv('Nowcoder.csv',dtype=object)
idx= []
for i,item in enumerate(df['Language']):
if item == 'Python':
idx.append(i)
print(df.iloc[idx])
相关函数
enumerate
通常和for循环一块使用返回索引和值
.iloc
根据隐式的行索引取值
.loc
根据显示行索引取值
直达试题,快人一步
题意分析
从题目中我们能够发现,我问应该先找出使用Python的人员,再取出成就值得一列
import pandas as pd
df = pd.read_csv('Nowcoder.csv')
# 布尔值索引,和上一道一样,最后取出该列值
print(df[df['Language'] == 'Python']['Achievement_value'])
直达试题,快人一步
题意分析:
取最后得5行的指定列 先取出最后5行,根据列名取值
题解:
import pandas as pd
df = pd.read_csv('Nowcoder.csv')
print(df.tail()[['Nowcoder_ID','Level','Achievement_value','Language']])
相关函数
tail(n)
取出数据最后n行数据,n默认为5
head(n)
取出数据前的n行数据,n默认为5
总结
这次我们只讲解了4道题,也都比较简单,运用的知识都是以前学过的,这次的主要目的也是让大家熟悉一下牛客网的操作步骤。