Pandas 使用函数方法筛选数据

一、查询函数:dataframe.query()

df.query(表达式) 使用布尔表达式查询dataframe的列,表达式是一个字符串,相当于sql语句的where从句,很是灵活。

1、查询三列相等的数据

"""查询SD1 等于 SD7 等于 SD8 的数据"""
dataframe.query('SD1 == SD7 == SD8')
"""
	SD1	SD2	SD3	SD4	SD5	SD6	SD7	SD8
1	5	5	5	5	5	5	5	5
4	4	4	4	4	4	4	4	4
12	5	5	5	5	5	6	5	5
13	4	4	4	4	4	4	4	4
15	7	7	7	7	7	7	7	7
...	...	...	...	...	...	...	...	...
237	4	3	4	4	4	4	4	4
241	3	3	1	1	1	2	3	3
242	6	7	7	6	6	6	6	6
244	3	3	3	4	4	3	3	3
254	1	7	7	7	1	1	1	1
"""

2、查询一列大于另一列的数据

"""查询 SD7 大于 SD8 的数据"""
dataframe.query('SD7 > SD8')
"""
	SD1	SD2	SD3	SD4	SD5	SD6	SD7	SD8
0	4	7	2	1	2	6	7	6
6	5	6	4	5	2	3	6	3
7	1	6	5	1	2	3	6	4
8	6	3	6	6	6	2	4	2
11	5	6	5	5	5	4	5	2
...	...	...	...	...	...	...	...	...
253	1	4	3	3	2	3	2	1
257	1	3	5	2	5	5	4	2
258	1	5	2	1	1	7	7	6
259	1	7	7	4	2	1	7	1
261	1	3	5	5	5	5	3	2
"""

3、查询两列的和小于某个数值的数据

# 查询 SD4 + SD5 < SD7 的数据
dataframe.query('SD4 + SD5 < SD7')
"""
	SD1	SD2	SD3	SD4	SD5	SD6	SD7	SD8
0	4	7	2	1	2	6	7	6
2	1	7	1	1	1	6	6	6
5	3	7	4	2	2	7	7	7
7	1	6	5	1	2	3	6	4
9	3	4	3	2	1	3	7	7
...	...	...	...	...	...	...	...	...
249	1	4	4	2	2	2	6	4
250	1	4	3	1	1	5	5	2
252	1	6	2	2	2	5	7	5
258	1	5	2	1	1	7	7	6
259	1	7	7	4	2	1	7	1
"""

4、使用与的方法查询数据

# 查询 SD4 > 3 and SD5 >3 and  SD7 < 3 的数据
dataframe.query('SD4 > 3 & SD5 >3 and  SD7 < 3')
"""
SD1	SD2	SD3	SD4	SD5	SD6	SD7	SD8
25	4	4	4	4	4	4	2	3
152	3	5	5	5	4	3	2	3
220	7	2	7	6	6	1	2	1
256	1	7	3	7	7	4	2	3
"""

5、列名有空格的需要用反引号引起来

dataframe.query('B == `team nmae`')

 6、变量符号引入

a = dataframe.SD1.mean()
dataframe.query('SD1 > @a+2')

二、过滤函数:dataframe.filter()

df.filter()可以队列名和行名进行筛选,支持模糊匹配。正则表达式。

df.filter(items=['SD1', 'SD2']) # 选择两列
df.filter(regex='S', axis=1) # 列名包含S的列
df.filter(regex='e$', axis=1) # 以e结尾的列
df.filter(regex='1$', axis=0) # 正则,索引名以1结尾
df.filter(like='2', axis=0) # 索引中有2的
# 索引中以2开头、列名有Q的
df.filter(regex='^2', axis=0).filter(like='Q', axis=1)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值