Python实现多条件筛选目标数据功能【测试可用】


Posted in Python onJune 13, 2018

本文实例讲述了Python实现多条件筛选目标数据功能。分享给大家供大家参考,具体如下:

python中提供了一些数据过滤功能,可以使用内建函数,也可以使用循环语句来判断,或者使用pandas库,当然在有些情况下使用pandas是为了提高工作效率。举例如下:

a = [('chic', 'JJ'), ('although', 'IN'), ('menu', 'JJ'), ('items', 'NNS'), ('doesnt', 'JJ'),
   ('scream', 'NN'), ('french', 'JJ'), ('cuisine', 'NN')]

这里的a为一个list,列表中还有元组。每一个元组由单词和其词性组成,我们要筛选词性为JJ何NN的单词。可以有三种写法:

第一种,使用内建函数filter:

# -*- coding:utf-8 -*-
#!python3
a = [('chic', 'JJ'), ('although', 'IN'), ('menu', 'JJ'), ('items', 'NNS'), ('doesnt', 'JJ'),
   ('scream', 'NN'), ('french', 'JJ'), ('cuisine', 'NN')]
def filt_nn(data_text):
  nn_data = filter(lambda x: x[1] == 'NN'or x[1] == 'JJ', data_text)
#  print(list(nn_data))
  return list(nn_data)
print(filt_nn(a))

运行结果:

[('chic', 'JJ'), ('menu', 'JJ'), ('doesnt', 'JJ'), ('scream', 'NN'), ('french', 'JJ'), ('cuisine', 'NN')]

第二种,使用pandas包:

# -*- coding:utf-8 -*-
#!python3
import pandas as pd
a = [('chic', 'JJ'), ('although', 'IN'), ('menu', 'JJ'), ('items', 'NNS'), ('doesnt', 'JJ'),
   ('scream', 'NN'), ('french', 'JJ'), ('cuisine', 'NN')]
data = pd.DataFrame(a, columns=['word', 'ps'])
print(data[data.ps.isin(['JJ', 'NN'])].word)

运行结果:

0       chic
2       menu
4     doesnt
5     scream
6     french
7    cuisine
Name: word, dtype: object

第三种,使用循环:

# -*- coding:utf-8 -*-
#!python3
a = [('chic', 'JJ'), ('although', 'IN'), ('menu', 'JJ'), ('items', 'NNS'), ('doesnt', 'JJ'),
   ('scream', 'NN'), ('french', 'JJ'), ('cuisine', 'NN')]
absd = []
for i in a:
  if i[1] == 'NN' or i[1] == 'JJ':
    absd.append(i[0])
print(absd)

得到的结果都相同,如下:

['chic', 'menu', 'doesnt', 'scream', 'french', 'cuisine']

虽然结果相同,但是推荐第一、二种方法,因为这两个方法速度更快。

更多关于Python相关内容可查看本站专题:《Python列表(list)操作技巧总结》、《Python字符串操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python装饰器使用方法实例
Nov 21 Python
Python脚本实现DNSPod DNS动态解析域名
Feb 14 Python
用Python制作简单的钢琴程序的教程
Apr 01 Python
浅谈Python的异常处理
Jun 19 Python
Python中is与==判断的区别
Mar 28 Python
Python3.6 Schedule模块定时任务(实例讲解)
Nov 09 Python
学生信息管理系统python版
Oct 17 Python
python os模块简单应用示例
May 23 Python
python是否适合网页编程详解
Oct 04 Python
Python pathlib模块使用方法及实例解析
Oct 05 Python
Python内置数据结构列表与元组示例详解
Aug 04 Python
python 详解turtle画爱心代码
Feb 15 Python
mac 安装python网络请求包requests方法
Jun 13 #Python
Scrapy基于selenium结合爬取淘宝的实例讲解
Jun 13 #Python
利用Anaconda简单安装scrapy框架的方法
Jun 13 #Python
基于scrapy的redis安装和配置方法
Jun 13 #Python
mac下给python3安装requests库和scrapy库的实例
Jun 13 #Python
Python3实现将本地JSON大数据文件写入MySQL数据库的方法
Jun 13 #Python
解决Mac安装scrapy失败的问题
Jun 13 #Python
You might like
PHP 生成微信红包代码简单
2016/03/25 PHP
jQuery学习5 jQuery事件模型
2010/02/07 Javascript
jquery操作cookie插件分享
2014/01/14 Javascript
轻松创建nodejs服务器(5):事件处理程序
2014/12/18 NodeJs
JavaScript获取页面上被选中文字的方法技巧
2015/03/13 Javascript
java中String类型变量的赋值问题介绍
2016/03/23 Javascript
Javascript函数中的arguments.callee用法实例分析
2016/09/16 Javascript
JavaScript reduce和reduceRight详解
2016/10/24 Javascript
原生js和css实现图片轮播效果
2017/02/07 Javascript
微信小程序使用input组件实现密码框功能【附源码下载】
2017/12/11 Javascript
Vue中使用 setTimeout() setInterval()函数的问题
2018/09/13 Javascript
深入理解react-router 路由的实现原理
2018/09/26 Javascript
vue过滤器用法实例分析
2019/03/15 Javascript
用python实现的可以拷贝或剪切一个文件列表中的所有文件
2009/04/30 Python
Python3中多线程编程的队列运作示例
2015/04/16 Python
详解Python中用于计算指数的exp()方法
2015/05/14 Python
python 列表,数组和矩阵sum的用法及区别介绍
2018/06/28 Python
python 将对象设置为可迭代的两种实现方法
2019/01/21 Python
python使用threading.Condition交替打印两个字符
2019/05/07 Python
python3发送邮件需要经过代理服务器的示例代码
2019/07/25 Python
python爬虫项目设置一个中断重连的程序的实现
2019/07/26 Python
python中的RSA加密与解密实例解析
2019/11/18 Python
python闭包、深浅拷贝、垃圾回收、with语句知识点汇总
2020/03/11 Python
纯CSS3实现带动画效果导航菜单无需js
2013/09/27 HTML / CSS
使用SVG实现提示框功能的示例代码
2020/06/05 HTML / CSS
美国时尚女装在线:Missguided
2016/12/03 全球购物
值类型与引用类型有什么不同?请举例说明?并分别列举几种相应的数据类型
2015/10/24 面试题
捷科时代的软件测试笔试题
2015/11/09 面试题
学年末自我鉴定
2014/01/21 职场文书
幼儿园秋游活动方案
2014/01/21 职场文书
领导班子四风表现材料
2014/08/23 职场文书
关于教师节的演讲稿
2014/09/04 职场文书
2014年办公室个人工作总结
2014/11/12 职场文书
思想品德课教学反思
2016/02/24 职场文书
golang 如何通过反射创建新对象
2021/04/28 Golang
spring cloud 配置中心客户端启动遇到的问题
2021/09/25 Java/Android