精华内容
下载资源
问答
  • 情景:当我们需要从excel表中筛选符合某个条件的数据,例如我们需要从附加标签中筛选出2班的行数据 import xlrd import xlwt #需处理的文件名 file = '0422.xlsx' #读取文件 data = xlrd.open_workbook(file...

    情景:当我们需要从excel表中筛选出符合某个条件的数据,例如我们需要从附加标签中筛选出2班的行数据

    import xlrd
    import xlwt
    
    #需处理的文件名
    file = '0422.xlsx'
    
    #读取文件
    data = xlrd.open_workbook(file)
    
    #读取要处理的表名
    table = data.sheet_by_name("1")
    
    nrows = table.nrows#行数
    ncols = table.ncols#列数
    
    print(nrows-1)
    #添加表头
    workbook = xlwt.Workbook(encoding='utf-8')
    new_sheet=workbook.add_sheet('test')
    
    
    
    data = input('输入你想要筛选的数据,format(#2班)\n')
    #data1 = input('输入第几列,format(3)\n')
    
    rank_list = []
    for i in range (1,nrows):
    	if table.row_values(i)[6]==data: #筛选第几列就改 [1] 里的数字
    		rank_list.append(i)
    print(rank_list)
    
    #写表头
    for i in range(ncols):
    	new_sheet.write(0,i,table.cell(0,i).value)
    
    for i in range(len(rank_list)):
    	for j in range(ncols):
    		new_sheet.write(i+1, j, table.cell(rank_list[i],j).value)
    
    workbook.save('shaixuanhou.xls')

     输出结果如下

     

    展开全文
  • 一.filter函数简介filter函数主要用来筛选数据,过滤掉不符合条件的元素,并返回一个迭代器对象,如果要转换为列表list或者元祖tuple,可以使用内置函数list() 或者内置函数tuple()来转换;filter函数接收两个参数,...

    一.filter函数简介

    filter函数主要用来筛选数据,过滤掉不符合条件的元素,并返回一个迭代器对象,如果要转换为列表list或者元祖tuple,可以使用内置函数list() 或者内置函数tuple()来转换;

    filter函数接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中,就好比是用筛子,筛选指定的元素;

    语法:

    filter(function, iterable)

    参数:

    function – 函数名;

    iterable – 序列或者可迭代对象;

    返回值:通过function过滤后,将返回True的元素保存在迭代器对象中,最后返回这个迭代器对象(python2.0x版本是直接返回列表list);

    二.filter函数使用

    1.filter函数简单使用

    # !usr/bin/env python

    # -*- coding:utf-8 _*-

    """

    @Author:何以解忧

    @Blog(个人博客地址): shuopython.com

    @WeChat Official Account(微信公众号):猿说python

    @Github:www.github.com

    @File:python_process_Pool.py

    @Time:2020/1/14 21:25

    @Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!

    """

    def check(i):

    # 如果是偶数返回 True 否则返回False

    return True if i%2 == 0 else False

    if __name__ == "__main__":

    list1 =[1,2,3,4,5,6]

    result = filter(check,list1)

    print(result)

    print(type(result))

    # 将返回的迭代器转为列表list或者元组

    print(list(result))

    print(type(list(result)))

    输出结果:

    [2, 4, 6]

    2.filter函数配合匿名函数Lambda使用

    def check_score(score):

    if score > 60:

    return True

    else:

    return False

    if __name__ == "__main__":

    # 成绩列表

    student_score = {"zhangsan":98,"lisi":58,"wangwu":67,"laowang":99,"xiaoxia":57}

    # 筛选成绩大于60的成绩列表

    result = filter(lambda score:score > 60,student_score.values())

    # 与上面一行代码等价

    # result = filter(check_score, student_score.values())

    print(result)

    print(type(result))

    # 将返回的迭代器转为列表list或者元组

    print(list(result))

    print(type(list(result)))

    输出结果:

    [98, 67, 99]

    注意:filter函数返回的是一个迭代器对象,往往在使用时需要先将其转换为列表list或者元祖tuple之后再操作;

    python filter函数其实和内置函数map()使用方法类似,map()函数也是将迭代器或者序列中的每一个元素映射到指定的函数中,操作完成之后再返回修改后的迭代器对象;

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

    本文标题: Python如何用filter函数筛选数据

    本文地址: http://www.cppcns.com/jiaoben/python/302224.html

    展开全文
  • python numpy 数组提取某一列大于某一直的数据当时间消磨掉了你的热情,你便会发现,那些曾令你歇斯底里的去执著的人,现在已变得可有可无。import numpy as npa=np.arange(9).reshape(3,3)12 a Out[31]: array([[0,...

    python numpy 数组提取某一列大于某一直的数据当时间消磨掉了你的热情,你便会发现,那些曾令你歇斯底里的去执著的人,现在已变得可有可无。

    import numpy as npa=np.arange(9).reshape(3,3)12 a Out[31]: array([[0, 1, 2], [3, 4, 5], [6, 7, 8]])12345 矩阵的某一行 a[1]Out[32]: array([3, 4, 5])12 矩阵的某一列 a[:,1]Out[33]: array([1, 4, 7])12 b=np.eye(3,3) b Out[36]: array

    python中如何提取一组数据中的第一列数据

    概述直接提取会报错,把array数组转换成list,即可提取,使用numpy转换 步骤详解

    直接提取尝试: group=[[1,2],[2,3],[3,4]] #提取第一列元素 print(group[:,1]) #Out:TypeError: list indices must be integers or slices, not tuple

    Python中怎么获取二维数组中指定列的数据。

    Python怎么获取二维矩阵的单行每列最大值是谁说过的,痛苦挖掘了温柔的洞穴,我藏身不知经年。

    def get_max_value(martix): ''' 得到矩阵中每一列最大的值 ''' res_list=[] for j in range(len(martix[0])): one_list=[] for i in range(len(martix)): one_list.append(int(martix[i][j])) res_list.append(str(max(one_list))) return res_

    python 如何提取行向量(矩阵)指定范围内几个数据

    用切片啊,比如: 复杂的矩阵用numpy库操作更方便。遇见你花光了我所有运气,只要见到你,不论多糟,我都会笑。

    python中,现有一个矩阵a,用10减去矩阵的第二列每python中,现有一个矩阵a,用10减去矩阵的第二列每个数,得到一个新矩阵使用python的numpy包 import numpy as npa = [[1,2,3,4],[5,6,7,8],[1,2,3,4]]a = np.array(a)a[:,1] = 10 - a[:,1]print a

    python怎么实现修改文本中某行某列的数值为固定值

    具体就是一个由两列数组成的文件bowl_profile_1,我想把第一行的第一列如果你两列数据中间是用tab键来分割,两个数据都是str类型的 with open("bowl_profile_1") as f: data = f.readlines() # 读入数据out = ["%d\t%s"%(0,data[i].split('\t')[-1]) for i in range(len(data))] # 修改数据with oepn(path) as f: #

    python numpy 怎么获取矩阵的第i个数据

    >>> arr [[10, 11, 12, 13, 14, 15, 16, 17, 18, 19], [11, 12, 13, 14, 15, 16, 17, 18, 19, 20], [12, 13, 14, 15, 16, 17, 18, 19, 20, 21], [13, 14, 15, 16, 17, 18, 19, 20, 21, 22], [14, 15, 16, 17, 18, 19, 20, 21, 22, 23], [15, 16,

    python中numpy矩阵重排列是按行还是按列

    Numpy可以使用reshape()函数进行矩阵重排列,默认按行排列(C语言风格),通过修改order参数可以改为按列排列(Fortran风格)。参考例子: In [1]: import numpy as npIn [2]: a = np.array([[1,2,3],[4,5,6]])In [3]: print a[[1 2 3] [4 5 6]]

    python 矩阵操作, 筛选符合条件的行

    python 矩阵操作, 筛选符合条件的行,有类似于matlab那样find函数功能python的第三方库numpy(用于矩阵运算,需要import numpy as np)中可以使用np.where,如 >>a = np.array(a) >>a array([1, 2, 3, 1, 2, 3, 1, 2, 3]) >>idx = np.where(a > 2) >>idx (array([2, 5, 8], dtype=int32),)

    展开全文
  • 它能够非常简洁地按照某种规则,以一个数据序列(如列表、字典和集合等)为基础,推导出另一个新的数据序列。推导式共有三种类型,分别是列表推导式、字典推导式和集合推导式。下面我们分别给予简单介绍。2.4.1 ...

    718be6371d2db4a8ec2c913da4345fc6.png

    前面我们详细介绍了for循环的操作细节。其实,还有一个“精简”版的for循环,称为推导式(comprehensions,又称解析式),它是Python中的一种独有特性。它能够非常简洁地按照某种规则,以一个数据序列(如列表、字典和集合等)为基础,推导出另一个新的数据序列

    推导式共有三种类型,分别是列表推导式、字典推导式和集合推导式。下面我们分别给予简单介绍。

    2.4.1 列表推导式

    列表推导式的语法形式非常简单,如下所示。

    [生成表达式 for 变量 in 序列或迭代对象]


    最外层的方括号是列表的标志性身份,它表明这个表达式的结果是生成一个列表,故称列表推导式(list comprehensions)。在功能上,方括号内描述的列表推导式相当于一个循环,只不过形式更加简洁罢了。图2-14给出了代码说明。

    862bd81f05ed69e93d94ea40041b97b7.png
    图2-14 基于for循环的列表推导式

    下面,我们再用几个示例来说明列表推导式的强大功能。

    1. 过滤原始序列中不符合条件的元素

    在列表推导式中,我们可以通过if语句的逻辑判断,筛选符合条件的元素。例如,如果我们想把一个列表中的整数提取出来,并做平方处理,可以通过如图2-15所示的方法来实现。

    43eceb4950fa618a99f9d8cf85881622.png
    图2-15 通过列表推导式筛选元素

    2. 使用列表推导式实现嵌套列表的平铺

    在前面的列表推导式例子里,我们仅使用一层for循环来产生新的列表。事实上,我们也可以使用两层for循环。下面的代码就是利用两层for循环将嵌套列表平铺成一个列表的示例。

    In 


    这个列表推导式中包括两个for循环,其中,第一个for循环可视为外循环,第二个循环可视为内循环。外循环每读取一个元素(某个内部列表元素,如[1,2,3]),内循环要遍历列表元素中的三个子元素(如1、2、3)。很显然,外循环跑得慢,而内循环跑得快。方括号最前方的那个num,就是所谓的输出表达式,虽然它看起来就是一个变量模样。

    3. 多条件组合构造特定列表

    如前所述,列表推导式包含一对括号,在括号中有一个输出表达式,表达式后面紧跟一条for语句,然后是0条或多条for语句、if语句,通过各种组合,能够构造出各类高阶列表。例如,下面的列表推导式将两个不同列表中的元素整合到了一起。

    In 

    需要注意的是,如果表达式是一个元组,如In [12]处的(x,y),那么必须得给它加上括号。

    通过前面的讲解,我们知道,在In [12]处的一条语句,相当于两个嵌套的for循环,内循环中添加了一个if语句,与其等价的常规for循环代码如下所示。

    In 

    对比上述两段功能相同的程序,我们要注意两点:

    第一,在列表推导式所表征的代码中,for和if等逻辑控制关键词出现的顺序,与常规代码中for和if等关键词出现的顺序是相同的;

    第二,列表推导式的代码是简单的,但等价的常规代码可读性更强。

    具体哪种更好,仁者见仁,智者见智。

    2.4.2 字典推导式

    字典推导式和列表推导式的使用方法比较类似,不过是把列表的标志——一对方括号[],变更为字典的标记——一对花括号{}。举例说明,下面代码的功能是交换原有字典的键和值。

    In 


    上述代码的In [2]处使用了字典的items()方法,它会返回一个支持遍历操作的列表,列表中是诸如(键0, 值0)、(键1, 值2)这样的小元组。

    2.4.3 集合推导式

    集合推导式和字典推导式非常类似,它们都有一个核心标志——一对花括号。但有所不同的是,字典内的元素需要以“键/值对”的形式出现,这里冒号为“键”和“值”的分隔符

    而集合则不需要这个冒号,且集合内的元素是不能重复的。换句话说,集合推导式和字典推导式的差别,就是集合和字典之间的差别。示例代码如下。

    In 

    在上述代码的In [1]处,由于1和-1的平方都是1,2和-2的平方都是4,它们都是集合的元素,而集合的眼中容不下相同的元素,所以两个1和两个4,都分别保留了一个。经过这个操作,集合推导式实际实现了元素去重的效果。

    练习题

    1. 请针对如下两个列表编写一段Python代码,实现功能:如果元素不相同则两两封装成一个元组,并将所有这样的元组打包成一个列表。

    list_a = [1, 2, 3]
    list_b = [2, 7]

    预期的结果是,[(1, 2), (1, 7), (2, 7), (3, 2), (3, 7)]

    本文部分节选自

    《Python极简讲义:一本书入门数据分析与机器学习》(张玉宏)【摘要 书评 试读】- 京东图书item.jd.com

    (张玉宏著,电子工业出版社,2020年5月出版)。更多理论推导及实战环节,请参阅该书。

    展开全文
  • 一.filter函数简介filter函数主要用来筛选数据,过滤掉不符合条件的元素,并返回一个迭代器对象,如果要转换为列表list或者元祖tuple,可以使用内置函数list() 或者内置函数tuple()来转换;filter函数接收两个参数,...
  • 遇到这类问题的时候,我们通常想得到一列中所有符合条件的数据,挑出来,然后组成一个单独的文件进行分析。比如一列中我们希望找到所有大于100的所有行,又比如 我们希望得到一列中包含某个特定字母的所有行,那么...
  • 利用pandas对表格中的数据进行筛选,找出符合条件的数据 导入包和数据 import numpy as np import pandas as pd df=pd.read_csv('mytrain.csv') df.head(3) PassengerId Survived Pclass Name Sex ...
  • python中,要对列表、字典、集合进行数据筛选,最简单的方式就是用遍历,逐一对比,将符合条件的元素保存。这种方式虽然简单,但不够简洁优雅,以下用实例说明其他实现方式。本文示例代码均用python3实现列表、字典...
  • filter函数主要用来筛选数据,过滤掉不符合条件的元素,并返回一个迭代器对象,如果要转换为列表list或者元祖tuple,可以使用内置函数list() 或者内置函数tuple()来转换; filter函数接收两个参数,第一个为函数,第...
  • 有两个表,A表和B表,需要筛选出B表中level1=1和level2在1-8之间的数据,并找出A表中符合B表筛选完后条件的行 首先读取A表和B表 import pandas as pd event_data = pd.read_excel("A.xls") IEC_data = pd.read_csv(...
  • 一.filter函数简介filter函数主要用来筛选数据,过滤掉不符合条件的元素,并返回一个迭代器对象,如果要转换为列表list或者元祖tuple,可以使用内置函数list() 或者内置函数tuple()来转换;filter函数接收两个参数,...
  • 遇到这类问题的时候,我们通常想得到一列中所有符合条件的数据,挑出来,然后组成一个单独的文件进行分析。比如一列中我们希望找到所有大于100的所有行,又比如 我们希望得到一列中包含某个特定字母的所有行,那么...
  • 遇到这类问题的时候,我们通常想得到一列中所有符合条件的数据,挑出来,然后组成一个单独的文件进行分析。比如一列中我们希望找到所有大于100的所有行,又比如 我们希望得到一列中包含某个特定字母的所有行,那么...
  • CSV文件——筛选特定的行 参考文献:《Python数据分析基础》《Python标准库》《Python编程从入门到实践》 一....有时,当行中的值满足一个具体条件时,才需要...要完成此项操作,不难想到,构建符合筛选条件的控制流语
  • 在列表中筛选出大于等于零的数据,一般通用的用法代码如下: 1 data = [3, -9, 0, 1, -6, 3, -2, 8, -6] #要筛选的原始数据列表 2 result = [] #存放筛选结果的列表 3 for x in data: #依次迭代循环每个元素 4...
  • /usr/bin/python # -*- coding:utf-8 -*- import socket import os, sys, io, selectors import select from pymongo import MongoClient client = MongoClient("bj01-ops-mgos01.pre.gomeplus.com",300...
  • filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。 该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将...
  • 工作中数据的处理中往往会遇到筛选出不符合条件的或者不包含某个字符的dataframe,我们会如何去做呢? 可能你会想到用python写一个函数,然后用panda的apply函数或者map函数来进行处理,不可否认这是一中方法,但是...
  • 1)遍历列表中每一项元素,对每一项元素进行判断,筛选符合的数据加入到新列表中 data = [1,5,-3,-2,6,0,9] res = [] for x in data:  if x >= 0:  res.append(x) print(res) 2)列表推导式 [x for ...
  • 数据筛选背景在处理数据时,我们可能希望从数据库里面筛选符合特定条件的记录(个案或样本,不同的行业叫法不一样),平常大家对Excel筛选很熟悉,比如从A字段(变量或特征)包含“团队”,B字段大于等于40,筛选出...
  • 但是,我们需要的数据是在序列中符合某一条件的数据,比如:我们从一大堆字符串中找到固定字符数的元素;从一堆整数中要获取大于某一元素的数据等等。这样的操作,在我们日常编程中是很常见的。对于常用的操作我们...
  • 1、集合相加a = {1,2,3}b = {3,4,5}print(type(a))print(a|b)2、queryset 符合条件的筛序projects = Project_models.objects.filter(user=request.user).order_by('id')projects = projects.filter(bad_numbers__gt=...
  • 1. 筛选list中符合要求的数据# 生成数据 import random data = [random.randint(-10, 10) for _ in range(10)] 1.1 常规迭代法''' 常规迭代 ''' print(data) # [-9, -2, -4, 1, 5, -3, -5, -1, -8, 2] filter_...
  • 遇到这类问题的时候,我们通常想得到一列中所有符合条件的数据,挑出来,然后组成一个单独的文件进行分析。比如一列中我们希望找到所有大于100的所有行,又比如 我们希望得到一列中包含某个特定字母的所有行,那么...
  • 先给一些实际栗子 过滤掉列表[1, 3, 8, -2, 5 ...]中负数 ...通用方法就是进行迭代(先对容器进行for循环,在进行条件判断)但是不符合我们优雅身份,我们不采用 1.列表问题 首先我们先导入一个神奇...

空空如也

空空如也

1 2 3 4 5
收藏数 82
精华内容 32
关键字:

python筛选符合条件的数据

python 订阅