pandas 过滤

import pandas as pd
df = pd.DataFrame({"name": ["wang","wei","zhao","li","uw"],
                  "gender": ["boy","girl","girl","boy","girl"],
                   "score": [56,67,47,87,None]
                  })

1.比较运算

1.等于: =
2.大于: >
3.大于等于: >=
4.小于: <
5.小于等于: <=
6.不等于: !

df[df['score']>60] # 分数大于60的

2.范围查询isin

df[df['score'].isin([87,88])] # 得分在87,和88范围内的同学
Series.between(left, right[, inclusive])

3.空值查询

df[df['score'].isnull()]
df[df['score'].notnull()]

4.模糊查询

df[df['name'].str.contains('^w')] # 以name字段以w开头的

5.逻辑运算符

1.and or not用来判断单个元素的逻辑,pandas序列比较时使用& | ~
逻辑运算符
1.| for or
2.& for and
3.~for not

df[df['name'].str.contains('^w') & (df['gender'] == 'boy')] # 'name'以w开头并且'gender'等于boy

api

contains

Series.str.contains(*args, **kwargs)[source]
参数描述
patstr,字符串或正则表达式
casebool, default True,大小写是否敏感
flagsint, default 0 (no flags),正则的标志,比如re.IGNORECASE.
nadefault NaN
regexbool, default True,是否开启正则表达式
返回Series or Index of boolean values
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值