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基础篇之初识Python必看攻略
Jun 23 Python
Python连接数据库学习之DB-API详解
Feb 07 Python
Python中Threading用法详解
Dec 27 Python
Python计算开方、立方、圆周率,精确到小数点后任意位的方法
Jul 17 Python
Windows 8.1 64bit下搭建 Scrapy 0.22 环境
Nov 18 Python
Python使用pymysql模块操作mysql增删改查实例分析
Dec 19 Python
Python反爬虫伪装浏览器进行爬虫
Feb 28 Python
关于tf.matmul() 和tf.multiply() 的区别说明
Jun 18 Python
利用Python实现字幕挂载(把字幕文件与视频合并)思路详解
Oct 21 Python
python+requests实现接口测试的完整步骤
Oct 27 Python
python 基于selectors库实现文件上传与下载
Dec 31 Python
如何通过一篇文章了解Python中的生成器
Apr 02 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实现递归循环每一个目录
2010/08/08 PHP
php入门学习知识点二 PHP简单的分页过程与原理
2011/07/14 PHP
php实现简单文件下载的方法
2015/01/30 PHP
php根据生日计算年龄的方法
2015/07/13 PHP
理解Javascript_10_对象模型
2010/10/16 Javascript
javascript继承机制实例详解
2014/11/20 Javascript
初识简单却不失优雅的Vue.js
2016/09/12 Javascript
详解基于javascript实现的苹果系统底部菜单
2016/12/02 Javascript
C#微信小程序服务端获取用户解密信息实例代码
2017/03/10 Javascript
详解ElementUI之表单验证、数据绑定、路由跳转
2017/06/21 Javascript
Vue创建头部组件示例代码详解
2018/10/23 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
2019/07/08 Javascript
微信小程序实现禁止分享代码实例
2019/10/19 Javascript
python利用beautifulSoup实现爬虫
2014/09/29 Python
python fabric实现远程部署
2017/01/05 Python
使用Python & Flask 实现RESTful Web API的实例
2017/09/19 Python
浅谈Python对内存的使用(深浅拷贝)
2018/01/17 Python
对python添加模块路径的三种方法总结
2018/10/16 Python
Python Web框架之Django框架Model基础详解
2019/08/16 Python
pytorch 模拟关系拟合——回归实例
2020/01/14 Python
python实现ssh及sftp功能(实例代码)
2020/03/16 Python
pycharm下pyqt4安装及环境配置的教程
2020/04/24 Python
简单了解Python变量作用域正确使用方法
2020/06/12 Python
python 多线程共享全局变量的优劣
2020/09/24 Python
Python使用Pygame绘制时钟
2020/11/29 Python
Python数据模型与Python对象模型的相关总结
2021/01/26 Python
美特斯邦威官方商城:邦购网
2016/10/13 全球购物
法国包包和行李箱销售网站:Bagage24.fr
2020/03/24 全球购物
企业道德讲堂实施方案
2014/03/19 职场文书
运动会入场口号
2014/06/07 职场文书
六五普法宣传标语
2014/10/06 职场文书
代领报检证委托书范本
2014/10/11 职场文书
2014年会计工作总结
2014/11/27 职场文书
停课通知书
2015/04/24 职场文书
解决xampp安装后Apache无法启动
2022/03/21 Servers
「回转企鹅罐」10周年纪念展「輪るピングドラム展」海报公开
2022/03/22 日漫