章节2 行走数据江湖,只需一行代码

目录

  • 8. 数据筛选、过滤,[绘图前的必备功课]
    • 8.1 excel操作
    • 8.2 Python操作

http://sa.mentorx.net 蔓藤教育

8. 数据筛选、过滤,[绘图前的必备功课]

8.1 excel操作

筛选,18<=年龄<=30的学生的分数状况,且分数>80的学生
章节2 行走数据江湖,只需一行代码_第1张图片
全部选中,然后筛选即可。
章节2 行走数据江湖,只需一行代码_第2张图片

8.2 Python操作

读取的时候,将 ‘ID’ 作为 index ,

import pandas as pd

students = pd.read_excel('C:/Temp/Students.xlsx', index_col='ID')

章节2 行走数据江湖,只需一行代码_第3张图片
筛选数据:用函数的形式来表达条件
pd.series有apply()方法,

import pandas as pd

students = pd.read_excel('C:/Temp/Students.xlsx', index_col='ID')
students = students.loc[students['Age'].apply[age_18_to_30]]
print(students)

章节2 行走数据江湖,只需一行代码_第4张图片

import pandas as pd

def age_18_to_30(a):
	return 18 <= a <30

def level_a(s):
	return 85 <=s <=100

students = pd.read_excel('C:/Temp/Students.xlsx', index_col='ID')
students = students.loc[students['Age'].apply[age_18_to_30]].loc[students['Score'].apply(level_a)]
print(students)

章节2 行走数据江湖,只需一行代码_第5张图片
另一种写法:

students = students.loc[students.Age.apply[age_18_to_30]].loc[students.Score.apply(level_a)]

章节2 行走数据江湖,只需一行代码_第6张图片
进一步优化代码:

students = students.loc[students.Age.apply[lambda a: 18<=a<30]].loc[students.Score.apply(lambda s: 85<=s<=100)]

章节2 行走数据江湖,只需一行代码_第7张图片
代码太长,可以打一个 空格+ ’ \ ',然后回车即可

students = students.loc[students.Age.apply[lambda a: 18<=a<30]] \
.loc[students.Score.apply(lambda s: 85<=s<=100)]

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