本文实例讲述了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多条件判断筛选数据_Python实现多条件筛选目标数据功能【测试可用】相关推荐

  1. python链接mysql 判断是否成功_python连接mysql数据库并读取数据的实现

    1.安装pymysql包 pip install pymysql 注: MySQLdb只支持python2,pymysql支持python3 2.连接数据 import pymysql import ...

  2. python条件判断true_Python中的True,False条件判断实例分析

    本文实例讲述了Python中的True,False条件判断用法.分享给大家供大家参考.具体分析如下: 对于有编程经验的程序员们都知道条件语句的写法: 以C++为例: 代码如下: if (conditi ...

  3. python中if else语句用法_Python if else条件语句详解

    前面我们看到的代码都是顺序执行的,也就是先执行第1条语句,然后是第2条.第3条--一直到最后一条语句,这称为顺序结构. 但是对于很多情况,顺序结构的代码是远远不够的,比如一个程序限制了只能成年人使用, ...

  4. python中if else语句格式_Python if else条件语句

    我们前面看到的代码都是按顺序执行的,也就是先执行第一条语句,再执行第二条和第三条语句--一直到最后一条语句,这就是所谓的顺序结构. 然而,在许多情况下,序列结构的代码远远不够.比如一个程序只限成人使用 ...

  5. python数据类型可变和不可变_Python——可变和不可变类型数据

    什么是不可变类型? 存储空间保存的数据不允许被修改,这种数据就是不可变类型. 常见的不可变类型有: 数字类型 int, bool, float, complex, long(2.x) 字符串 str ...

  6. python提取数据库数据_Python如何读取MySQL数据库表数据

    本文实例为大家分享了Python读取MySQL数据库表数据的具体代码,供大家参考,具体内容如下 环境:Python 3.6 ,Window 64bit 目的:从MySQL数据库读取目标表数据,并处理 ...

  7. python爬取17000个球员_Python爬取NBA球员生涯数据及简单可视化

    由于全球疫情的原因 NBA宣布无限期推迟比赛 也被迫随之进入了长草期 紧接着 狂摸话筒戈贝尔 连坐队友米切尔 网络小帅杜兰特 绿军硬汉斯马特 等十名球员相继官宣感染 洛杉矶湖人两人感染 但未公布名单 ...

  8. python爬取历史天气查询_Python爬取南京历史天气数据(2345天气网)

    最近学习了如何在2345天气网上爬取历史天气数据,并使用pandas库对数据进行清洗和导出.不过,本文方法对其它网站并不一定适用,主要是记录一种思考的方式. 南京的历史天气数据在这个网站上:http: ...

  9. azw3 python数据分析 活用pandas库_Python数据分析 活用Pandas库 数据科学教程数据分析入门图书 Python编程入门数据处理...

    内容介绍 本书是Python数据分析入门书,每个概念都通过简单实例来阐述,便于读者理解与上手.具体内容包括:Python及Pandas基础知识,加载和查看数据集,Pandas的DataFrame对象和 ...

  10. python处理行情数据_Python获取股票历史、实时数据与更新到数据库

    要做量化投资,数据是基础,正所谓"巧妇难为无米之炊" 在免费数据方面,各大网站的财经板块其实已提供相应的api,如新浪.雅虎.搜狐...可以通过urlopen相应格式的网址获取数据 ...

最新文章

  1. 卷起来了,写了一套计算机视觉学习笔记(20G/代码/PPT/视频)
  2. [笔记]用VS2010编译运行项目时报“LINK : fatal error LNK1104:...
  3. python遍历数组冒泡排序_经典排序算法(冒泡排序,选择排序,插入排序,快速排序,堆排序)python实现...
  4. QLibrary 动态加载外部库文件
  5. Eboot.bib中0x30000000到0x300020000内存的作用
  6. java switch 值_Java switch多值匹配操作详解
  7. 将解决方案和项目放在同一目录中_借助卡第那思3D电子目录,巴鲁夫使用CAE数据扩展其产品目录...
  8. 后盾网经典原创视频教程php,《后盾网经典原创视频教程:PHP》139集
  9. netbeans搭建安卓开发环境
  10. python excel导入oracle数据库_【Python代替Excel】12:Python操作oracle数据库
  11. 【项目管理】项目干系人
  12. bootstrap-表单
  13. 08.15 javascript3 分支结构 条件语句 :单向分支 双向分支 嵌套分支 多项分支 循环结构 while dowhile for 跳转语句 其他语句...
  14. linux手机摩托,[图]摩托罗弹奏Linux顺手机的前生
  15. MongoDB 备份与恢复
  16. Java操作xls文件,数据去重
  17. python实现C4.5
  18. C语言 数字实现字母表 链表实现字母表
  19. 庄子 君子之交淡如水,小人之交甘若醴。
  20. Java String,看这篇就够了

热门文章

  1. vivado_hls 与 modelsim 联合仿真时报错,Failed to access library ‘unisims_ver‘ at “unisims_ver“
  2. 卡内基梅隆计算机专业,卡内基梅隆大学计算机科学专业全面解析
  3. ActiveMQ 简介
  4. gitlab安装配置
  5. 智商决定能力和情商决定本事的分析
  6. 狂神 MyBatis
  7. tp5.1 出现Class 'Qcloud\Sms\SmsSingleSender' not found(mac和windows没有,linux出现)
  8. FillRect与FrameRect
  9. python获取北京时间
  10. Python学习足迹