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

 更新时间:2018年06月13日 10:29:26   转载 作者:layman2016  
这篇文章主要介绍了Python实现多条件筛选目标数据功能,结合实例形式总结分析了Python3使用内建函数filter、pandas包以及for循环三种方法对比分析了列表进行条件筛选操作相关实现技巧与运行效率,需要的朋友可以参考下

本文实例讲述了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通过paramiko远程下载Linux服务器上的文件实例

    Python通过paramiko远程下载Linux服务器上的文件实例

    今天小编就为大家分享一篇Python通过paramiko远程下载Linux服务器上的文件实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • python如何发布自已pip项目的方法步骤

    python如何发布自已pip项目的方法步骤

    这篇文章主要介绍了python如何发布自已pip项目的方法步骤,方便大家学习,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • 详解Python中的strftime()方法的使用

    详解Python中的strftime()方法的使用

    这篇文章主要介绍了详解Python中的strftime()方法的使用,是Python入门学习中的基础知识,需要的朋友可以参考下
    2015-05-05
  • PyQt5基本控件使用详解:单选按钮、复选框、下拉框

    PyQt5基本控件使用详解:单选按钮、复选框、下拉框

    这篇文章主要介绍了PyQt5基本控件使用:单选按钮、复选框、下拉框,本文中的内容和实例也基本回答了开篇提到的问题。需要的朋友可以参考下
    2019-08-08
  • Python数据可视化:饼状图的实例讲解

    Python数据可视化:饼状图的实例讲解

    今天小编就为大家分享一篇Python数据可视化:饼状图的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • flask session组件的使用示例

    flask session组件的使用示例

    这篇文章主要介绍了flask session组件的使用示例,详细介绍内置session以及第三方session组件的使用方法以及处理机制,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • python 自动重连wifi windows的方法

    python 自动重连wifi windows的方法

    今天小编就为大家分享一篇python 自动重连wifi windows的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python多线程通信queue队列用法实例分析

    Python多线程通信queue队列用法实例分析

    这篇文章主要介绍了Python多线程通信queue队列用法,结合实例形式分析了Python多线程通信queue队列相关概念、原理、用法及操作注意事项,需要的朋友可以参考下
    2020-03-03
  • Python button选取本地图片并显示的实例

    Python button选取本地图片并显示的实例

    今天小编就为大家分享一篇Python button选取本地图片并显示的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • python3.8.1+selenium实现登录滑块验证功能

    python3.8.1+selenium实现登录滑块验证功能

    这篇文章主要介绍了python3.8.1+selenium解决登录滑块验证的问题,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05

最新评论