Pandas条件筛选与组合筛选的使用

目录
  • 条件筛选
  • 组合筛选

在使用pandas进行数据分析时,经常需要根据逻辑条件来筛选数据。

如果使用 for循环语句 遍历的方式来查找,将十分耗时。

推荐使用pandas自身的功能函数进行筛选,效率更高。

以下列出笔者常用的筛选方法。

条件筛选

根据具体值筛选

df[df['Num'] == 10]
df[df['Name'] == 'Tom']

找出df中值在具体列表中的数据

val_list = [100, 200, 300]
df[df['Num'].isin(val_list)]

筛选某列值长度为固定值的数据

df[df['content'].str.len() == 10]

筛选某列是否为空的数据

# 找出content列为空的数据
df[df['content'].isna()]

# 找出content不为空的数据
df[~df['content'].isna()]

组合筛选

多条件同时满足

# 找出df中A列值为100 且 B列值为‘a'的所有数据
df[(df['A']==100)&(df['B']=='a')]

多条件满足其一即可

# 找出df中A列值为100或B列值为‘b'的所有数据
df[(df['A']==100)|(df['B']=='b')]

注:筛选后所得数据的索引一般是乱的,可使用 df = df.reset_index(drop=True) 的方式重置索引。

到此这篇关于Pandas条件筛选与组合筛选的使用的文章就介绍到这了,更多相关Pandas条件筛选与组合筛选内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • pandas条件组合筛选和按范围筛选的示例代码

    1.从记录中选出所有fault_code列的值在fault_list= [487, 479, 500, 505]这个范围内的记录 record2=record[record['FAULT_CODE'].isin(fault_list)] 要用.isin 而不能用in,用 in以后选出来的值都是True 和False,然后报错: ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item()

  • pandas按若干个列的组合条件筛选数据的方法

    还是用图说话 A文件: 比如,我想筛选出"设计井别"."投产井别"."目前井别"三列数据都为11的数据,结果如下: 当然,这里的筛选条件可以根据用户需要自由调整,代码如下: # -*- coding: utf-8 -*- """ Created on Wed Nov 29 10:46:31 2017 @author: wq """ import pandas as pd #input.c

  • Python Pandas条件筛选功能

    目录 一.准备数据 二.以>,<,==,>=,<=来进行选择 三..isin() 四..str.contains()实现 一.准备数据 import pandas as pd   data = pd.read_excel(r'销售数据.xlsx') print(data) 数据如下: 二.以>,<,==,>=,<=来进行选择 “等于”一定是用‘==’,如果用‘=’就不是判断大小了: 例如:筛选销售员是马姐的数据 df = data[data['销售员'] =

  • pandas按条件筛选数据的实现

    pandas中对DataFrame筛选数据的方法有很多的,以后会后续进行补充,这里只整理遇到错误的情况. 1.使用布尔型DataFrame对数据进行筛选 使用一个条件对数据进行筛选,代码类似如下: num_red=flags[flags['red']==1] 使用多个条件对数据进行筛选,代码类似如下: stripes_or_bars=flags[(flags['stripes']>=1) | (flags['bars']>=1)] 常见的错误代码如下: 代码一: stripes_or_bars

  • Python数据分析之 Pandas Dataframe条件筛选遍历详情

    目录 一.条件筛选 二.Dataframe数据遍历 for...in...语句 iteritems()方法 iterrows()方法 itertuples()方法 一.条件筛选 查询Pandas Dataframe数据时,经常会筛选出符合条件的数据,接下来介绍一下具体的使用方式. 示例Dataframe如下: 单条件筛选,例如查询gender为woman的数据: df[df["gender"]=="woman"] # 或 df.loc[df["gender

  • Pandas条件筛选与组合筛选的使用

    目录 条件筛选 组合筛选 在使用pandas进行数据分析时,经常需要根据逻辑条件来筛选数据. 如果使用 for循环语句 遍历的方式来查找,将十分耗时. 推荐使用pandas自身的功能函数进行筛选,效率更高. 以下列出笔者常用的筛选方法. 条件筛选 根据具体值筛选 df[df['Num'] == 10] df[df['Name'] == 'Tom'] 找出df中值在具体列表中的数据 val_list = [100, 200, 300] df[df['Num'].isin(val_list)] 筛选

  • numpy ndarray 按条件筛选数组,关联筛选的例子

    最近的项目中大量涉及数据的预处理工作,对于ndarray的使用非常频繁.其中ndarray如何进行数值筛选,总结了几种方法. 1.按某些固定值筛选 如下面这段代码从,ndarray中可以筛选出数值等于3的子数组和其在原数组中的索引位置. import numpy as np arr = np.array([1, 1, 1, 134, 45, 3, 46, 45, 65, 3, 23424, 234, 12, 12, 3, 546, 1, 2]) print(np.where(arr==3)) p

  • vue实现单一筛选、删除筛选条件

    本文实例为大家分享了vue实现单一筛选.删除筛选条件的具体代码,供大家参考,具体内容如下 效果预览: 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="vue.v2.6.10.js"></scrip

  • pandas 条件搜索返回列表的方法

    pandas中常用的一件事情就是对特定条件进行搜索,那么这里介绍使用pandas搜索方式,本案例使用的pandas是anaconda中的,可以下载任意的anaconda进行安装都会带有. 首先导入包 import pandas as pd import os 然后需要构建一个csv文件存上文件.比如我们有一个叫test.csv的文件,文件有三个列的表头,id.name.address我们想知道一个人的名字的id与地址就可以写成 test_csv = pd.read_csv('/test.csv'

  • 使用Pandas对数据进行筛选和排序的实现

    筛选和排序是Excel中使用频率最多的功能,通过这个功能可以很方便的对数据表中的数据使用指定的条件进行筛选和计算,以获得需要的结果.在Pandas中通过.sort和.loc函数也可以实现这两 个功能..sort函数可以实现对数据表的排序操作,.loc函数可以实现对数据表的筛选操作.本篇文章将介绍如果通过Pandas的这两个函数完成Excel中的筛选和排序操作. 首选导入需要使用的Pandas库和numpy库,读取并创建数据表,将数据表命名为lc. import pandas as pd impo

  • mysql筛选GROUP BY多个字段组合时的用法分享

    想实现这样一种效果如果使用group by一个条件的话,得到的结果会少了很多,如何多个条件组合筛选呢 复制代码 代码如下: group by fielda,fieldb,fieldc... 循环的时候可以通过判断后一个跟前面一个是否相同来分组,一个示例 复制代码 代码如下: $result = mysql_query("SELECT groups,name,goods FROM table GROUP BY groups,name ORDER BY name"); $arr = arr

  • pandas数据筛选和csv操作的实现方法

    1. 数据筛选 a b c 0 0 2 4 1 6 8 10 2 12 14 16 3 18 20 22 4 24 26 28 5 30 32 34 6 36 38 40 7 42 44 46 8 48 50 52 9 54 56 58 (1)单条件筛选 df[df['a']>30] # 如果想筛选a列的取值大于30的记录,但是之显示满足条件的b,c列的值可以这么写 df[['b','c']][df['a']>30] # 使用isin函数根据特定值筛选记录.筛选a值等于30或者54的记录 df

随机推荐