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 实现插入排序算法
Jun 05 Python
Python操作使用MySQL数据库的实例代码
May 25 Python
Python3.6 Schedule模块定时任务(实例讲解)
Nov 09 Python
Python通过matplotlib绘制动画简单实例
Dec 13 Python
python操作openpyxl导出Excel 设置单元格格式及合并处理代码实例
Aug 27 Python
关于windows下Tensorflow和pytorch安装教程
Feb 04 Python
浅谈PyTorch的可重复性问题(如何使实验结果可复现)
Feb 20 Python
Python安装OpenCV的示例代码
Mar 05 Python
python+opencv边缘提取与各函数参数解析
Mar 09 Python
python requests.get带header
May 05 Python
Python爬虫教程知识点总结
Oct 19 Python
Python用dilb提取照片上人脸的示例
Oct 26 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 文件类型判断代码
2009/03/13 PHP
php字符编码转换之gb2312转为utf8
2013/10/28 PHP
PHP导出Excel实例讲解
2016/01/24 PHP
基于jQuery的图片左右无缝滚动插件
2012/05/23 Javascript
jquery表格内容筛选实现思路及代码
2013/04/16 Javascript
node.js中的console.assert方法使用说明
2014/12/10 Javascript
jQuery中replaceWith()方法用法实例
2014/12/25 Javascript
javascript实现超炫的向上滑行菜单实例
2015/08/03 Javascript
JS使用onerror捕获异常示例
2016/08/03 Javascript
从零开始学习Node.js系列教程四:多页面实现的数学运算示例
2017/04/13 Javascript
JS+HTML5实现图片在线预览功能
2017/07/22 Javascript
Vue filter格式化时间戳时间成标准日期格式的方法
2018/09/16 Javascript
vue使用v-for实现hover点击效果
2018/09/29 Javascript
图解javascript作用域链
2019/05/27 Javascript
vue路由跳转传递参数的方式总结
2020/05/10 Javascript
微信小程序学习总结(五)常见问题实例小结
2020/06/04 Javascript
Vue 请求传公共参数的操作
2020/07/31 Javascript
Python Web开发模板引擎优缺点总结
2014/05/06 Python
Python比较文件夹比另一同名文件夹多出的文件并复制出来的方法
2015/03/05 Python
Python2.x和3.x下maketrans与translate函数使用上的不同
2015/04/13 Python
简单了解什么是神经网络
2017/12/23 Python
python 输出列表元素实例(以空格/逗号为分隔符)
2019/12/25 Python
Python常用库大全及简要说明
2020/01/17 Python
css3类选择器之结合元素选择器和多类选择器用法
2017/03/09 HTML / CSS
html5中JavaScript removeChild 删除所有节点
2014/05/16 HTML / CSS
俄罗斯化妆品和香水网上商店:Iledebeaute
2019/01/03 全球购物
在职研究生自我鉴定
2013/10/16 职场文书
快餐店的创业计划书范文
2014/01/29 职场文书
市场专员岗位职责
2014/02/14 职场文书
学习雷锋精神演讲稿
2014/05/10 职场文书
离婚协议书范本(2014版)
2014/09/28 职场文书
2014年食品安全工作总结
2014/12/04 职场文书
小学教研工作总结2015
2015/05/13 职场文书
2015年监理个人工作总结
2015/05/23 职场文书
小学二年级班主任工作经验交流材料
2015/11/02 职场文书
能让Python提速超40倍的神器Cython详解
2021/06/24 Python