数据分析 | Pandas 200道练习题 进阶篇(1)

文章目录

    • 前期准备
    • DA5 牛客网用户没有补全的信息
    • DA6 查看牛客网哪些用户使用Python
    • DA7 牛客网Python用户的成就值
    • DA8 文件最后用户的部分数据

数据分析 | Pandas 200道练习题 进阶篇(1)_第1张图片

好久没有更新数据分析相关的内容,大家都知道数据分析的练习题不好找,博主这些天找的一个可以在线练习的网站推荐给大家 牛客网 往后的Pandas练习题从这里找。

前期准备

刚开始的入门题我就不再进行介绍了,大家自己练习一下顺便学会使用这个网站,需要注意的是因为是数据分析,设计到导入文件,所以没有办法进行自测运行只能提交后测试结果。
数据分析 | Pandas 200道练习题 进阶篇(1)_第2张图片

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

直达试题,快人一步
数据分析 | Pandas 200道练习题 进阶篇(1)_第3张图片
题意分析:
通过简单的读题,我们能够发现题目主要就是判断某一列中是否有空值,如果该列有空值 就返回 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=0axis=1行默认为列

创建数据

数据分析 | Pandas 200道练习题 进阶篇(1)_第4张图片

判断那一列出现空值

df.isnull().any(axis=0)
# axis=0 不写也可以

数据分析 | Pandas 200道练习题 进阶篇(1)_第5张图片
判断那一列的数据全为空

df.isnull().all()

数据分析 | Pandas 200道练习题 进阶篇(1)_第6张图片


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

直达试题,快人一步
数据分析 | Pandas 200道练习题 进阶篇(1)_第7张图片

题意分析:
题目中主要想找到常用语言为Python的人的全部信息,因此我们要先找到使用语言为Python的的索引,再根据索引去找这些人的全部信息

题解:

  • 使用布尔值索引
    通过判断每一个人常用的语言是否是Python,返回True,不是返回False
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 根据显示行索引取值

DA7 牛客网Python用户的成就值

直达试题,快人一步
数据分析 | Pandas 200道练习题 进阶篇(1)_第8张图片
题意分析
从题目中我们能够发现,我问应该先找出使用Python的人员,再取出成就值得一列

import pandas as pd
df = pd.read_csv('Nowcoder.csv')
# 布尔值索引,和上一道一样,最后取出该列值
print(df[df['Language'] == 'Python']['Achievement_value'])

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

直达试题,快人一步
数据分析 | Pandas 200道练习题 进阶篇(1)_第9张图片
题意分析:
取最后得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道题,也都比较简单,运用的知识都是以前学过的,这次的主要目的也是让大家熟悉一下牛客网的操作步骤。

数据分析 | Pandas 200道练习题 进阶篇(1)_第10张图片

你可能感兴趣的:(数据分析,pandas,数据分析,python)