python中DataFrame数据帧的筛选:使用布尔表达式返回是否引用序列

类似excel表格中的筛选功能,我们有些时候需要根据条件筛除部分不需要的数据,保留那些我们感兴趣的数据,一般都是数据条(item),对应表格中的某些行。pandas库中提供了方便的筛选指令来实现这个功能。
本质上,可以使用一些布尔表达式来表示删选的条件,比如data[‘column’]>100这样的值,或者data[‘column’].isin(condition_list)这样的is表达式,这样的表达式会返回一个布尔型的序列Series。再使用引用方法data[series],就可以使用符合条件的数据条,也就是使用True的元素,而跳过False的元素。
我们可以使用以下的数据对DF数据的筛选功能进行演示:

import pandas as pd
dict_data = {
	'student':["Li Lei","Han Meimei","Tom","Adam","Bob","Curry"],
	'score'	:[95,98,92,89,82,93],
	'gender':['M','F','M',"M","M","M"]
}
DF_data = pd.DataFrame(dict_data,columns=['gender','student','score'],index=['a','b','c','d','e','f'])
print(DF_data[DF_data['score']>=90])

selected_gender = "M"
print(DF_data[DF_data['gender']==selected_gender])

selected_score = [92,93]
print(DF_data[DF_data['score'].isin(selected_score)])

运行之后,我们可以得到结果如下:

  gender     student  score
a      M      Li Lei     95
b      F  Han Meimei     98
c      M         Tom     92
f      M       Curry     93
  gender student  score
a      M  Li Lei     95
c      M     Tom     92
d      M    Adam     89
e      M     Bob     82
f      M   Curry     93
  gender student  score
c      M     Tom     92
f      M   Curry     93
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值