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 string类型 bytes类型 bytearray类型
Dec 16 Python
浅谈Scrapy框架普通反爬虫机制的应对策略
Dec 28 Python
Python简单获取二维数组行列数的方法示例
Dec 21 Python
Python实现微信中找回好友、群聊用户撤回的消息功能示例
Aug 23 Python
pycharm修改file type方式
Nov 19 Python
python随机数分布random均匀分布实例
Nov 27 Python
python 导入数据及作图的实现
Dec 03 Python
使用celery和Django处理异步任务的流程分析
Feb 19 Python
Python中用xlwt制作表格实例讲解
Nov 05 Python
关于Python错误重试方法总结
Jan 03 Python
pycharm 的Structure界面设置操作
Feb 05 Python
浅谈pytorch中stack和cat的及to_tensor的坑
May 20 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中转义mysql语句的实现代码
2011/06/24 PHP
PHP curl 获取响应的状态码的方法
2014/01/13 PHP
php检测iis环境是否支持htaccess的方法
2014/02/18 PHP
微信支付开发告警通知实例
2016/07/12 PHP
老生常谈文本文件和二进制文件的区别
2017/02/27 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
Yii框架分页技术实例分析
2019/08/30 PHP
基于jquery的模态div层弹出效果
2010/08/21 Javascript
jquery.ui.draggable中文文档(原文翻译)
2013/11/15 Javascript
用JavaScript实现类似于ListBox功能示例代码
2014/03/09 Javascript
javascript学习笔记(一)基础知识
2014/09/30 Javascript
PHP结合jQuery实现的评论顶、踩功能
2015/07/22 Javascript
基于JQuery打造无缝滚动新闻步骤详解
2016/03/31 Javascript
js插件dropload上拉下滑加载数据实例解析
2016/07/27 Javascript
基于zepto.js实现登录界面
2017/10/09 Javascript
实现图片首尾平滑轮播(JS原生方法—节流)
2017/10/17 Javascript
基于JavaScript实现报警器提示音效果
2017/10/27 Javascript
使用Vue动态生成form表单的实例代码
2018/04/26 Javascript
详解Vue.directive 自定义指令
2019/03/27 Javascript
vue组件间通信六种方式(总结篇)
2019/05/15 Javascript
微信小程序 授权登录详解(附完整源码)
2019/08/23 Javascript
原生js实现自定义消息提示框
2020/11/19 Javascript
[56:48]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
[01:08:56]DOTA2-DPC中国联赛 正赛 Magma vs LBZS BO3 第一场 2月7日
2021/03/11 DOTA
python解析html开发库pyquery使用方法
2014/02/07 Python
python2.7的编码问题与解决方法
2016/10/04 Python
Python 专题五 列表基础知识(二维list排序、获取下标和处理txt文本实例)
2017/03/20 Python
python监测当前联网状态并连接的实例
2018/12/18 Python
详解Python中的内建函数,可迭代对象,迭代器
2019/04/29 Python
django 解决扩展自带User表遇到的问题
2020/05/14 Python
如何通过python计算圆周率PI
2020/11/11 Python
精彩的大学生自我评价
2013/11/17 职场文书
党章培训心得体会
2014/09/04 职场文书
学习心理学的体会
2014/11/07 职场文书
员工工作心得体会
2019/05/07 职场文书
vue实现Toast组件轻提示
2022/04/10 Vue.js