python dataframe筛选,pandas中dataframe
Catalog DataFrame.loc是基于单个标签的过滤器(行维度)、基于单个标签的过滤器(二维行/列)和基于标签数组的过滤器)
在介绍数据帧的数据结构时,引入了标签和位置的概念。这些概念与loc(和iloc)操作相关。因此,在介绍这两个操作之前,让我们再次简要回顾一下标签和位置:
标签为:的数据帧的列或行(索引)的名称统称为排序位置(0,1,2,)的标签位置的数据帧的列或行(索引):相应地:
Loc)数据选择基于:标签(或布尔数组)iloc)数据选择基于:位置(整数-整数)iloc) I表示整数。
Dataframe.loc(dataframe.loc)支持以下类型的参数:
单一标签。例如,5或A(其中5不是位置的索引标签,值为5)标签的列表。比如在函数(文字)注意,上面提到的参数都是单个的,比如给出布尔数组匹配 a , b , c 标记切片长度的四个结果: f 行/列。
在演示各种操作之前,先构建DF。
importnumpyasnpimportpandasapddf=PD . data frame([2,3 ],[ 5,6 ],[ 8,9 ],index=[cobra , viper,
基于这个DF,我们来看看loc()的特殊操作。
按单个标签过滤df.loc[viper]
“viper”是标签名,行数据(viper,5,6)选自放在第一维度的行数据(因为没有用逗号分隔)。
您还可以基于单个标签过滤器(行/列维度)来过滤行和列维度。
df.loc[cobra , shield]
该操作只允许筛选一个单元格,因为行限制是cobra,列限制是shield。也就是说,是3。
基于标记数组df.loc[[viper , sidewinder]]
该操作同时过滤“毒蛇”和“响尾蛇”的数据。
基于单切片的df . loc[ cobra : viper , max_speed]
这是一个行/列复合条件过滤器,用于在行维度中使用slice,从cobra行中连续选择viper行,从列维度中选择max_speed列,最终得到上图中的结果集。
根据布尔数组过滤df.loc的False,False,True]]]
这个布尔数组作用于行维度。False表示跳过且不选择。真的是物竞天择。
如果要从行维中筛选所需的数据列,可以编写:
df . loc[:[假,真]]输出:
shieldcobra 3viper 6sidewinder9操作的逻辑是“运算符全选,在行维度中单独选择第二列”。
同样,您可以使用布尔数组在行维和列维度中进行筛选。
df . loc[[假,假,真],[假,真]]输出:
在该操作中,仅选择第三行和第二列。
基于函数曲面量过滤df.loc [df [shield ]6]
Df[shield] 6是一个返回True或False的布尔表达式。为满足某些要求,过滤逻辑为选出那些’shield’列的值大于6的所有的行。
一个更标准的例子是lambda表达式。
df . loc[lambda df:df[ shield ]==9]
这个lambda表达式(匿名函数)等价于df[shield]==9。过滤逻辑为选出那些’shield’列的值等于9的所有的行。
本节参考文章:https://www . w3 resource.com/pandas/data帧/数据帧-loc。服务器端编程语言(Professional Hypertext Preprocessor的缩写)
DataFrame.iloc))了解DataFrame.loc)后,DataFrame.iloc)会变得简单,操作与DataFrame.loc)高度一致。但是,它不是基于标签,而是基于位置。同样,DataFrame.iloc()支持以下类型的参数:
一个位置整数,比如五个位置整数数组,比如[4,3,0]一个位置整数切片,比如匹配17行/列长度的布尔数组,以及上述四个中的一个。
importnumpyasnpimportpandasapdmydict={ p :2, q: 3, r: 4, s: 5},{p: 200 .
基于这个DF,我们来看看iloc()的特殊操作。
基于一个位置过滤df.iloc[0]的输出:
P 2q 3r 4s 5选择第0行的数据。
基于定位数组过滤df.iloc [[0,1]]的输出:
选择第0行和第1行的数据。
根据定位切片过滤df.iloc[:3]的输出:
选择前三行记录。
根据布尔数组过滤df.iloc[[True,False,True]]的输出。
选择第0行和第2行的数据。
基于以下函数过滤df.iloc [lambdax: x.index %2==0]的输出:
因为选择了具有偶数索引值的行,所以选择了行0和2。
本部分参考文章:https://www . w3 resource.com/pandas/data框架/数据frame-iloc.PHP
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。