精华内容
下载资源
问答
  • pandas按条件筛选数据

    万次阅读 2019-04-08 19:39:58
    pandas中对DataFrame筛选数据的方法有很多的,以后会后续进行补充,这里只整理遇到错误的情况。 1.使用布尔型DataFrame对数据进行筛选 使用一个条件对数据进行筛选,代码类似如下: num_red=flags[flags['red']=...

    pandas中对DataFrame筛选数据的方法有很多的,以后会后续进行补充,这里只整理遇到错误的情况。

    1.使用布尔型DataFrame对数据进行筛选

    使用一个条件对数据进行筛选,代码类似如下:

    num_red=flags[flags['red']==1]

    使用多个条件对数据进行筛选,代码类似如下:

    stripes_or_bars=flags[(flags['stripes']>=1) | (flags['bars']>=1)]

    常见的错误代码如下:

    代码一:

    stripes_or_bars=flags[flags['stripes']>=1 or flags['bars']>=1]

    代码二:

    stripes_or_bars=flags[flags['stripes']>=1 | flags['bars']>=1].

    代码三:

    stripes_or_bars=flags[(flags['stripes']>=1) or (flags['bars']>=1)]

    以上这三种代码的错误提示都是:ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all(). 中括号里面的逻辑式如何解析的暂时不清楚。貌似不能使用and、or及not。

    除了使用组合的逻辑表达式之外,使用返回类型为布尔型值的函数也可以达到筛选数据的效果。示例如下:

    import pandas as pd
    import numpy as np
    df=pd.DataFrame(np.array(range(10)).reshape((5,-1)))
    df.columns=['0','1']
    df=df[df['1'].isin([3,5,9])]

     其df的结果如下:

    2.iloc()方法、ix()方法和iloc()方法的区别

    首先dataframe一般有两种类型的索引:第一种是位置索引,即dataframe自带的从0开始的索引,这种索引叫位置索引。另一种即标签索引,这种索引是你在创建datafram时通过index关键字,或者通过其他index相关方法重新给dataframe设置的索引。这两种索引是同时存在的。一般设置了标签索引之后,就不在显示位置索引,但不意味着位置索引就不存在了。

    假设有如下几行数据(截图部分只是数据的一部分),很明显,以下显示的索引为标签索引。同时574(标签索引)行对应的位置索引则为0,1593行对应的位置索引为1, 以此类推。

    先来看loc(),其API网址http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.loc.htm,函数名下方有一行解释,Access a group of rows and columns by label(s) or a boolean array.. loc[] is primarily label based, but may also be used with a boolean array. 

    代码一:

    first_listing = normalized_listings.loc[[0,4]]
    

    结果如下,可以看出其输出的是dataframe中标签索引为0和4的两行数据。注意,如果标签索引的类型为字符串,则在loc中也要用字符串的形式。

    再来看iloc(),其API网址http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.iloc.html,函数名下方的解释为 Purely integer-location based indexing for selection by position. .iloc[] is primarily integer position based ( from 0 to length-1 of the axis), but may also be used with a boolean array.

    代码二:

    first_listing = normalized_listings.iloc[[0,4]]
    

    结果如下,可以看出其输出的dataframe中第0行和第4行的数据,即按方法是按照位置索引取得数。注意使用位置索引的时候只能用整数(integer position,bool类型除外)

    另外,还可以向loc和iloc中传入bool序列,这样就可以将前面介绍的boo表达式用到loc和iloc中。下面来看看怎么使用bool序列?

    import pandas as pd
    data=pd.DataFrame(data={'col1':[1,2,3,5,10],'col2':[50,90,67,75,100]},\
                     index=['a','b','c','d','e'])
    print(data)
    #iloc[]示例,iloc似乎不能直接使用逻辑表达式的结果,我这里将其转置成list之后就可以用了,原因暂且不明
    data_1=data.iloc[list(data['col1']>5)]
    print(data_1)
    #loc[]示例,loc中可以直接使用逻辑表达式
    data_2=data.loc[data['col1']>5]
    print(data_2)

    在iloc[]中,如果直接使用loc中的逻辑表达式而不进行list()转化的话,会提示ValueError: iLocation based boolean indexing cannot use an indexable as a mask错误。

    如果查看上述两段代码中得到的first_listing。我们会发现两处first_listing的类型均为datafrarm。loc和iloc除了能对行进行筛选,还可以筛选列。如果在loc和iloc中设定了对列的筛选,则筛选之后得到的数据可能是datafrme类型,也有可能是Series类型。下面直接以代码运行结果进行说明。

    import pandas as pd
    data=pd.DataFrame(data={'col1':[1,2,3,5,10],'col2':[50,90,67,75,100]},\
                     index=['a','b','c','d','e'])
    print(data)
    #iloc[]示例 ,在使用iloc的时候,[]里面无论是筛选行还是筛选列,都只能使用数字形式的行号或列号。
    #这里如果使用‘col2’,这里会报错
    data_1=data.iloc[[0,4],[1]]#当需要筛选出多列或者希望返回的结果为DataFrame时,可以将列号用[]括起来。
    print(data_1)
    print(type(data_1))
    data_2=data.iloc[[0,4],1]#当只需要筛选出其中的一列时可以只写一个列号,不加中括号,这种方法得到的是一个Series
    print(data_2)
    print(type(data_2))
    #loc[]示例
    data_3=data.loc[['a','e'],['col2']]
    print(data_3)
    print(type(data_3))
    data_4=data.loc[['a','e'],'col2']
    print(data_4)
    print(type(data_4))

    具体的代码执行结果如下:

    最后看ix()方法,其API网址http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.ix.html,其解释为 A primarily label-location based indexer, with integer position fallback.

    代码三:

    first_listing = normalized_listings.ix[[0,4]]
    

    结果如下似乎与loc()方法的结果是相同的,但是从其给出的解释来看,其好像是前两个方法的集合。

    展开全文
  • MATLAB筛选数据

    千次阅读 2019-03-29 13:57:51
    MATLAB筛选数据 文章目录MATLAB筛选数据0.前言1.程序代码 0.前言 任务要求如下; 把36万行的代码筛选出来,只剩下1800多行 1.程序代码 %% clear; clc; filename_Old = 'WLTC.XLS'; [~,Sheet,~]=xlsfinfo...

    MATLAB筛选数据

    0.前言

    任务要求如下;
    把36万行的数据集筛选出来,只剩下1800多行

    1.程序代码

    %% 
    
    clear;
    clc;
    filename_Old = 'WLTC.XLS';
    
    
    [~,Sheet,~]=xlsfinfo(filename_Old); % 求出文件有多少个sheet
    cell_array = [] ;
    
    process_show=waitbar(0,'检查进度'); %显示初始界面
    for i= 1:length(Sheet)
        [~,~,total_number] = xlsread(filename_Old,Sheet{i}); % 因为一个sheet最多是65501行
    
         Percentage = i/length(Sheet);
         waitbar(Percentage,process_show,['已完成'  (num2str(round(100*Percentage)))  '%']); %进度条,进度增加情况 后面有判断是否关闭
        flag_5_test = 1; % 用来标志 每10个就取一次值
        for VehicleSpeed_i = 1:length(total_number)   % 因为一个sheet最多是65501行
            
            if isnan(total_number{VehicleSpeed_i,4}) | strcmp(char(total_number{VehicleSpeed_i,4}) , 'ESP_VehicleSpeed[km/h]' )  % 为空则跳过
                continue;
            
            else % 表示有数据 则记录当前的行数
                flag_5_test  =flag_5_test + 1;
                if mod(flag_5_test,10) == 0 %如果是能被10整除
                    try %错误判断
    
                      %% 取出 Time 值
                       Current_Time = round(total_number{VehicleSpeed_i,1});
    
                     %% 取出 EMS_EngineSpeed 值
                      EMS_EngineSpeed = round(total_number{VehicleSpeed_i-1,2});
    
                    %% 取出 EMS_IndicatedRealEngTorq 值
                     EMS_IndicatedRealEngTorq = round(total_number{VehicleSpeed_i+1,3});
    
                    %% 取出 ESP_VehicleSpeed 值
                     ESP_VehicleSpeed =round (total_number{VehicleSpeed_i,4});
    
                    catch
                     EMS_EngineSpeed = round(total_number{VehicleSpeed_i-1,2});
    
                    %% 取出 EMS_IndicatedRealEngTorq 值
                    EMS_IndicatedRealEngTorq = round(total_number{VehicleSpeed_i-2,4});
    
                    end
                
                %% 把读取的4个数据依次写入新表中
          
                Data_need = [ Current_Time ,EMS_EngineSpeed ,EMS_IndicatedRealEngTorq ,ESP_VehicleSpeed ];     
    
                cell_array = [cell_array;Data_need]; % 按照列来存储
    %             cell_array = [cell_array,Data_need]; % 按照行来存储
    
                end
            end
        end
       
    end
    close(process_show);% 循环结束,关闭进度条
    disp('正在保存数据...')
    save cell_array
    disp('保存成功')
    
    cell_array=load('cell_array.mat'); %a是一个的mat数据
    X_time = cell_array.cell_array(:,1);
    
    y1_EMS_EngineSpeed = cell_array.cell_array(:,2);
    
    y2_IndicatedRealEngTorq = cell_array.cell_array(:,3);
    y3_VehicleSpeed = cell_array.cell_array(:,4);
    
    plot(X_time,y1_EMS_EngineSpeed,X_time,y2_IndicatedRealEngTorq,X_time,y3_VehicleSpeed)
    
    展开全文
  • Dataframe筛选数据

    千次阅读 2017-09-24 21:28:28
    今天还是用到了DataFrame,如果你用一下它的筛选数据的功能,你会大吃一惊,它非常擅长筛选数据,可以极大提高你的工作效率,废话不多说,下面看看几个进行复杂数据筛选的例子。 首先我们创建一个DataFrame,...

    今天还是用到了DataFrame,如果你用一下它的筛选数据的功能,你会大吃一惊,它非常擅长筛选数据,可以极大提高你的工作效率,废话不多说,下面看看几个进行复杂数据筛选的例子。

    1. 首先我们创建一个DataFrame,该DataFrame包含的数据如下

    2. 假如我们想要筛选D列数据中大于0的行

    3. 使用&符号可以实现多条件筛选,当然是用"|"符号也可以实现多条件,只不过他是或的关系。

    4. 假如我们只需要A和B列数据,而D和C列数据都是用于筛选的,可以这样写:只返回了AB两列数据

    5. 我们以上用到的方法都是通过一个布尔索引完成的,我们看一下这样的运算返回的值是什么

    6. 我们还可以使用insin方法来筛选特定的值,把要筛选的值写到一个列表里,如alist

    7. 假如选择D列数据中,有alist中的值的行

    展开全文
  • pandas 筛选数据

    千次阅读 2018-04-25 10:14:54
    虽然去年就开始用pandas筛选数据,但有些方法还是容易忘记,工作中写的代码差点出错了,所以把这些内容记下来。其实英文官方文档上的内容非常详细,可以多看看。 多条件筛选 这里的筛选方法,是根据不同字段的...

    虽然去年就开始用pandas筛选数据,但有些方法还是容易忘记,工作中写的代码差点出错了,所以把这些内容记下来。其实英文官方文档上的内容非常详细,可以多看看。

    多条件筛选

    这里的筛选方法,是根据不同字段的不同条件,对行进行筛选,每个条件得到一个index集合, 求不同index集合的与、或、非和差集等运算。
    数据如下:

    import pandas as pd
    from pandas import DataFrame, Series
    data = DataFrame({"a":[1, 2, 3, 4], "b":[6, 7, 8, 9]})
    
    Out[22]: 
       a  b
    0  1  6
    1  2  7
    2  3  8
    3  4  9

    交集(与关系):&

    选出a列大于2 并且 b列小于9的数据。index[2, 3] 和 index[0, 1, 2] => 交集为index[2]

    data[(data["a"]>2) & (data["b"]<9)]
    
    Out[23]: 
       a  b
    2  3  8

    并集(或关系):|

    选出a列大于2 或者 b列等于6的数据

    data[(data["a"]>2) | (data["b"]==6)]
    
    Out[26]: 
       a  b
    0  1  6
    2  3  8
    3  4  9

    补集(非关系):~

    选出不符合“a列大于2”这一条件的数据

    data[~(data["a"]>2)]
    Out[27]: 
       a  b
    0  1  6
    1  2  7

    对称差集:^

    属于集合A和B的并集但不属于A和B的交集的元素

    data[(data['a']>=2)]#集合A
    Out[73]: 
       a  b
    1  2  7
    2  3  8
    3  4  9
    
    data[(data['b']<=8)]#集合B
    Out[74]: 
       a  b
    0  1  6
    1  2  7
    2  3  8
    
    data[(data['a']>=2) ^ (data['b']<=8)]#对称差集
    Out[75]: 
       a  b
    0  1  6
    3  4  9
    

    isin(序列):选出在序列中的数据

    lis = [3, 4]
    data[data['a'].isin(lis)]
    Out[28]: 
       a  b
    2  3  8
    3  4  9
    #也可以用map方法实现上述功能
    data[data['a'].map(lambda x:x in a)]
    展开全文
  • Antd的TreeTransfer按照父级筛选数据

    万次阅读 2019-09-17 13:53:37
    我们看antd的官方示例demo中有普通的transfer按照条件筛选数据,可是并没有提供TreeTransfer的demo示例。 普通的筛选数据的demo: 那么我们就只好看看他这个组件的API。 发现了这俩个东西是我们要的, showSearch...
  • 多条件筛选数据

    2019-06-04 20:49:16
    我们在查询数据的时,在某些条件下并不需要查询全部数据,而是通过条件来进行筛选我们所需要的数据,下面就是我们写的方法,多条件筛选数据 在上图中我们看到了四个条件,三个下拉框和一个input标签,因为下拉框...
  • 根据日期筛选数据

    千次阅读 2019-05-28 08:21:02
    在通过条件筛选数据之前需要查询先查询出所有的数据,然后才能够根据条件来查询出符合条件的数据。 var Linqss = (from tbFrom in myModels.PW_Receipts where tbFrom.ReceiptsNum == ReceiptsNums select tbFrom)....
  • 学过点计算机,稍微懂点编程后,会感觉看很...前阵子,看着运营小妹妹天天花一个多钟筛选数据分类导出表格,脑子里就产生了想法,觉得这太废时间,应该会有更好的解决方式,大概了解了一下情况,决定做一个解决方案...
  • sql 语句 筛选数据

    千次阅读 2018-03-27 18:32:44
    sql 语句 筛选数据 数据量较大,批量筛选: len 表示长度,一个汉字,一个字母都占1个长度 不包含 查询 字段中不包含 中文汉字的 where [CUSTOMER_NAME1] not like '%[吖-座]%' LIKE ‘%[^0-9]%’ WHERE model...
  • 使用python简单筛选数据 使用前需要自行安装python环境,将pyw文件和待筛选文件放在同一个文件夹目录下。 #!/usr/bin/python # -*- coding: UTF-8 -*- import time import re inFileName = "inFile.log"; ...
  • 接下来给你们介绍的是根据字段来筛选,根据这个字段来筛选数据表格里面用有关的数据,这次的是鼠标移出数据,移出以后点击,就会就会筛选数据里面的跟这个字段有关的数据。 一开始我们就要来写查询的代码,我的查询...
  • 目前结构是actionbar中有个筛选按钮,实现类型筛选数据,整个外层是fragment,然后里面是viewpager+fragment组合形式,两个页面切换,要求点击筛选选择数据类型控制当前页的数据筛选? 我尝试过的方式: 在每个...
  • Python如何用filter函数筛选数据

    千次阅读 2020-03-14 21:59:24
    这篇文章主要介绍了Python如何用filter函数筛选数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.filter函数简介 filter函数主要用来筛选数据,过滤掉不...
  • .NET LINQ 筛选数据

    2014-04-24 12:45:31
    筛选数据  筛选指将结果集限制为只包含那些满足指定条件的元素的操作。 它又称为选择。 方法 方法名 说明 C# 查询表达式语法 Visual Basic 查询...
  • DataFrame筛选数据与loc用法

    万次阅读 2017-04-22 18:21:31
    DataFrame筛选数据与loc用法python中pandas下的DataFrame是一个很不错的数据结构,附带了许多操作、运算、统计等功能。如何从一个DataFrame中筛选中出一个元素呢。以tushare返回的交易日信息为例。df = ts.trade_cal...
  • 想把如下Python筛选数据存为csv格式 LON LATE 34 108.7625 34.4372 42 108.7642 34.4363 43 108.7641 34.4363 78 108.7625 34.4372 92 108.7634 34.4366 262 108.7632 34.4367 1141 108....
  • C# DataTable.Select() 筛选数据

    万次阅读 2018-07-23 09:26:08
    C# DataTable.Select() 筛选数据 转载:https://blog.csdn.net/my_clear_mind/article/details/79673205 有时候我们需要对数据表进行筛选,微软为我们封装了一个公共方法, DataTable.Select(),其用法如下: ...
  • Element-UI Table 实现筛选数据功能

    千次阅读 2019-09-29 12:33:52
    最近产品提出了一个筛选数据的功能,要求在表头里实现一个下拉框进行筛选。 首先, Element-ui 的官方文档,el-table-column 下有一个 filters , 用于数据的筛选和过滤, filter-multiple 设置多选或者单选,多选时...
  • 用 Python 让 Excel 快速按条件筛选数据 本文即使用python实现excel快速筛选数据 有一张 12 个月份的产品销售情况表。 安装所需的 Python 第三方库 xlwings 的特色: xlwings 能够非常方便地读写 Excel 文件中的...
  • 1、首先,选筛选器里的时间字段点右键选择“使用相关数据源的所有项” 2、然后编辑2个数据源的关系 3、点自定义 4、添加时间和日期对应起来(ps:这里2个数据数据粒度不一样也可以哦,时间是到秒,日期到天) ...
  • python- 按指定列值筛选数据

    万次阅读 2019-07-01 22:33:51
    按指定列的值来筛选:df[df.column &...# 筛选数据表df中,b列的值大于2的所有行 按指定列的值来筛选:df[ df[column].isin( [‘x’, ‘xx’] ) ] 如果某一行的指定列的值在一个list中,该行被选中。 print(df[df[...
  • 使用datatables按自定义条件筛选数据

    万次阅读 2017-09-27 17:04:53
    datatables中用过自定义条件进行过滤筛选数据的设置方法 使用jquery.datatables.js插件封装表格数据,可以方便快捷地对表格数据进行处理。该插件内置的方法诸如:列排序、数据统计、分页、数据过滤(数据查询)在这里...
  • 原文连接: https://blog.csdn.net/hnanxihotmail/article/details/81625854 &gt;&gt;&gt; import pandas as pd ... #今天还是用到了DataFrame,如果你用一下它的筛选数据的功能,你会大吃...
  • 相信大部分人都有上网和购物的习惯,我们在购物和其它上网时,经常会按照自己的爱好去对物品和...根据某一具体值,在数据集中筛选出该值对应的某条数据。 例如: MVC控制器方法 方法中的某个属性或方法: Con...
  • UiPath之FilterTable筛选数据

    千次阅读 2019-12-25 13:41:31
    UiPath之FilterTable筛选数据 链接: https://pan.baidu.com/s/1y4g_L8Phbor3U_VM2OUQMA 提取码: q9jn 复制这段内容后打开百度网盘手机App,操作更方便哦 RPA之家公众号:RPA之家 RPA之家官网:http://rpazj.com Ui...
  • 根据某个字段来查询筛选数据

    千次阅读 2019-07-28 20:36:23
    根据某个字段来查询筛选数据 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 开发工具与关键技术:Visual Studio 作者:李继金 撰写时间:2019年7月24日 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...
  • 今天还是用到了DataFrame,如果你用一下它的筛选数据的功能,你会大吃一惊,它非常擅长筛选数据,可以极大提高你的工作效率,废话不多说,下面看看几个进行复杂数据筛选的例...
  • django 筛选数据

    千次阅读 2017-06-17 14:14:32
    在网页上有很多的数据 ,我们不可能把所有的数据都查询出来,影响客户查询数据,所以我们就要把数据进行分类,客户可以根据分类,筛选他们想要的数据. 1 首先需要在models 中设置一个多选字段 ORG_CATEGORY=( ...
  • 这篇文章主要介绍了关于pandas按若干个列的组合条件筛选数据的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下还是用图说话A文件:比如,我想筛选出“设计井别”、“投产井别”、“目前井别”...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 29,435
精华内容 11,774
关键字:

筛选数据