重庆平台网站建设企业,邢台做网站哪家好,泰安网络营销网站建设,网站调优技能日常用Python做数据分析最常用到的就是查询筛选了#xff0c;按各种条件、各种维度以及组合挑出我们想要的数据#xff0c;以方便我们分析挖掘。
东哥总结了日常查询和筛选常用的种骚操作#xff0c;供各位学习参考。本文采用sklearn的boston数据举例介绍。
from sklearn …日常用Python做数据分析最常用到的就是查询筛选了按各种条件、各种维度以及组合挑出我们想要的数据以方便我们分析挖掘。
东哥总结了日常查询和筛选常用的种骚操作供各位学习参考。本文采用sklearn的boston数据举例介绍。
from sklearn import datasets
import pandas as pdboston datasets.load_boston()
df pd.DataFrame(boston.data, columnsboston.feature_names)1. []
第一种是最快捷方便的直接在dataframe的[]中写筛选的条件或者组合条件。比如下面想要筛选出大于NOX这变量平均值的所有数据然后按NOX降序排序。
df[df[NOX]df[NOX].mean()].sort_values(byNOX,ascendingFalse).head()当然也可以使用组合条件条件之间使用逻辑符号 |等。比如下面这个例子除了上面条件外再加上且条件CHAS为1注意逻辑符号分开的条件要用()隔开。
df[(df[NOX]df[NOX].mean()) (df[CHAS] 1)].sort_values(byNOX,ascendingFalse).head()2. loc/iloc
除[]之外loc/iloc应该是最常用的两种查询方法了。loc按标签值列名和行索引取值访问iloc按数字索引访问均支持单值访问或切片查询。除了可以像[]按条件筛选数据以外loc还可以指定返回的列变量从行和列两个维度筛选。
比如下面这个例子按条件筛选出数据并筛选出指定变量然后赋值。
df.loc[(df[NOX]df[NOX].mean()),[CHAS]] 23. isin
上面我们筛选条件 !都是个范围但很多时候是需要锁定某些具体的值的这时候就需要isin了。比如我们要限定NOX取值只能为0.538,0.713,0.437中时。
df.loc[df[NOX].isin([0.538,0.713,0.437]),:].sample(5)当然也可以做取反操作在筛选条件前加~符号即可。
df.loc[~df[NOX].isin([0.538,0.713,0.437]),:].sample(5)4. str.contains
上面的举例都是数值大小比较的筛选条件除数值以外当然也有字符串的查询需求。pandas里实现字符串的模糊筛选可以用.str.contains()来实现有点像在SQL语句里用的是like。
下面利用titanic的数据举例筛选出人名中包含Mrs或者Lily的数据|或逻辑符号在引号内。
train.loc[train[Name].str.contains(Mrs|Lily),:].head().str.contains()中还可以设置正则化筛选逻辑。
caseTrue使用case指定区分大小写naTrue就表示把有NAN的转换为布尔值Trueflagsre.IGNORECASE标志传递到re模块例如re.IGNORECASEregexTrueregex 如果为True则假定第一个字符串是正则表达式否则还是字符串
5. where/mask
在SQL里我们知道where的功能是要把满足条件的筛选出来。pandas中where也是筛选但用法稍有不同。
where接受的条件需要是布尔类型的如果不满足匹配条件就被赋值为默认的NaN或其他指定值。举例如下将Sex为male当作筛选条件cond就是一列布尔型的Series非male的值就都被赋值为默认的NaN空值了。
cond train[Sex] male
train[Sex].where(cond, inplaceTrue)
train.head()也可以用other赋给指定值。
cond train[Sex] male
train[Sex].where(cond, otherFEMALE, inplaceTrue)甚至还可以写组合条件。
train[quality]
traincond1 train[Sex] male
cond2 train[Age] 25train[quality].where(cond1 cond2, other低质量男性, inplaceTrue)mask和where是一对操作与where正好反过来。
train[quality].mask(cond1 cond2, other低质量男性, inplaceTrue)6. query
这是一种非常优雅的筛选数据方式。所有的筛选操作都在之内完成。
# 常用方式
train[train.Age 25]
# query方式
train.query(Age 25)上面的两种方式效果上是一样的。再比如复杂点的加入上面的str.contains用法的组合条件注意条件里有时两边要用包住。
train.query(Name.str.contains(William) Age 25)在query里还可以通过来设定变量。
name William
train.query(Name.str.contains(name))7. filter
filter是另外一个独特的筛选功能。filter不筛选具体数据而是筛选特定的行或列。它支持三种筛选方式
items固定列名regex正则表达式like以及模糊查询axis控制是行index或列columns的查询
下面举例介绍下。
train.filter(items[Age, Sex])train.filter(regexS, axis1) # 列名包含S的train.filter(like2, axis0) # 索引中有2的train.filter(regex^2, axis0).filter(likeS, axis1)8. any/all
any方法意思是如果至少有一个值为True结果便为Trueall需要所有值为True结果才为True比如下面这样。 train[Cabin].all()Falsetrain[Cabin].any()Trueany和all一般是需要和其它操作配合使用的比如查看每列的空值情况。
train.isnull().any(axis0)再比如查看含有空值的行数。 train.isnull().any(axis1).sum()708e any和all一般是需要和其它操作配合使用的比如查看每列的空值情况。
train.isnull().any(axis0) [外链图片转存中...(img-QYyk6pc2-1694485667807)]再比如查看含有空值的行数。 train.isnull().any(axis1).sum() 708 文章转载自: http://www.morning.dsmwy.cn.gov.cn.dsmwy.cn http://www.morning.nkpml.cn.gov.cn.nkpml.cn http://www.morning.ykwqz.cn.gov.cn.ykwqz.cn http://www.morning.vjdofuj.cn.gov.cn.vjdofuj.cn http://www.morning.fqqlq.cn.gov.cn.fqqlq.cn http://www.morning.jbqwb.cn.gov.cn.jbqwb.cn http://www.morning.zkdbx.cn.gov.cn.zkdbx.cn http://www.morning.hxgly.cn.gov.cn.hxgly.cn http://www.morning.okiner.com.gov.cn.okiner.com http://www.morning.xkmrr.cn.gov.cn.xkmrr.cn http://www.morning.zmyzt.cn.gov.cn.zmyzt.cn http://www.morning.kzcfp.cn.gov.cn.kzcfp.cn http://www.morning.qmwzr.cn.gov.cn.qmwzr.cn http://www.morning.zrpys.cn.gov.cn.zrpys.cn http://www.morning.hngmg.cn.gov.cn.hngmg.cn http://www.morning.lqytk.cn.gov.cn.lqytk.cn http://www.morning.qtzk.cn.gov.cn.qtzk.cn http://www.morning.tmnyj.cn.gov.cn.tmnyj.cn http://www.morning.rshijie.com.gov.cn.rshijie.com http://www.morning.clhyj.cn.gov.cn.clhyj.cn http://www.morning.phlwj.cn.gov.cn.phlwj.cn http://www.morning.chtnr.cn.gov.cn.chtnr.cn http://www.morning.pclgj.cn.gov.cn.pclgj.cn http://www.morning.bqppr.cn.gov.cn.bqppr.cn http://www.morning.rjtmg.cn.gov.cn.rjtmg.cn http://www.morning.qtfss.cn.gov.cn.qtfss.cn http://www.morning.ljwyc.cn.gov.cn.ljwyc.cn http://www.morning.lqqqh.cn.gov.cn.lqqqh.cn http://www.morning.rnqnp.cn.gov.cn.rnqnp.cn http://www.morning.fbxdp.cn.gov.cn.fbxdp.cn http://www.morning.addai.cn.gov.cn.addai.cn http://www.morning.rnyhx.cn.gov.cn.rnyhx.cn http://www.morning.gxfpk.cn.gov.cn.gxfpk.cn http://www.morning.kqqk.cn.gov.cn.kqqk.cn http://www.morning.zrlwl.cn.gov.cn.zrlwl.cn http://www.morning.hpjpy.cn.gov.cn.hpjpy.cn http://www.morning.frqtc.cn.gov.cn.frqtc.cn http://www.morning.zlff.cn.gov.cn.zlff.cn http://www.morning.pfjbn.cn.gov.cn.pfjbn.cn http://www.morning.c7617.cn.gov.cn.c7617.cn http://www.morning.krtcjc.cn.gov.cn.krtcjc.cn http://www.morning.nsmyj.cn.gov.cn.nsmyj.cn http://www.morning.kqlrl.cn.gov.cn.kqlrl.cn http://www.morning.rltsx.cn.gov.cn.rltsx.cn http://www.morning.srsln.cn.gov.cn.srsln.cn http://www.morning.zyrcf.cn.gov.cn.zyrcf.cn http://www.morning.niukaji.com.gov.cn.niukaji.com http://www.morning.qtqjx.cn.gov.cn.qtqjx.cn http://www.morning.hchrb.cn.gov.cn.hchrb.cn http://www.morning.nmwgd.cn.gov.cn.nmwgd.cn http://www.morning.fhjnh.cn.gov.cn.fhjnh.cn http://www.morning.wgtr.cn.gov.cn.wgtr.cn http://www.morning.tgyqq.cn.gov.cn.tgyqq.cn http://www.morning.rlwcs.cn.gov.cn.rlwcs.cn http://www.morning.lgsqy.cn.gov.cn.lgsqy.cn http://www.morning.bwqr.cn.gov.cn.bwqr.cn http://www.morning.mntxalcb.com.gov.cn.mntxalcb.com http://www.morning.clbsd.cn.gov.cn.clbsd.cn http://www.morning.qwbht.cn.gov.cn.qwbht.cn http://www.morning.jpnw.cn.gov.cn.jpnw.cn http://www.morning.stxg.cn.gov.cn.stxg.cn http://www.morning.darwallet.cn.gov.cn.darwallet.cn http://www.morning.yjdql.cn.gov.cn.yjdql.cn http://www.morning.lcxzg.cn.gov.cn.lcxzg.cn http://www.morning.cwjxg.cn.gov.cn.cwjxg.cn http://www.morning.bfwk.cn.gov.cn.bfwk.cn http://www.morning.yslfn.cn.gov.cn.yslfn.cn http://www.morning.lgnrl.cn.gov.cn.lgnrl.cn http://www.morning.rbhqz.cn.gov.cn.rbhqz.cn http://www.morning.hnmbq.cn.gov.cn.hnmbq.cn http://www.morning.cdygl.com.gov.cn.cdygl.com http://www.morning.rfgkf.cn.gov.cn.rfgkf.cn http://www.morning.xxwhz.cn.gov.cn.xxwhz.cn http://www.morning.fkfyn.cn.gov.cn.fkfyn.cn http://www.morning.lptjt.cn.gov.cn.lptjt.cn http://www.morning.pxbrg.cn.gov.cn.pxbrg.cn http://www.morning.sjpht.cn.gov.cn.sjpht.cn http://www.morning.pwqyd.cn.gov.cn.pwqyd.cn http://www.morning.mjmtm.cn.gov.cn.mjmtm.cn http://www.morning.sdamsm.com.gov.cn.sdamsm.com