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

yipeiwu_com7年前Python基础

还是用图说话

A文件:

比如,我想筛选出“设计井别”、“投产井别”、“目前井别”三列数据都为11的数据,结果如下:

当然,这里的筛选条件可以根据用户需要自由调整,代码如下:

# -*- coding: utf-8 -*-
"""
Created on Wed Nov 29 10:46:31 2017
@author: wq
"""
import pandas as pd
#input.csv是那个大文件,有很多很多行
df1 = pd.read_csv(u'input.csv', encoding='gbk')
#加encoding=‘gbk'是因为文件中存在中文,不加可能出现乱码
#这里的筛选条件可以根据用户需要进行修改
outfile = df1[(df1[u'设计井别']=='11') & (df1[u'投产井别']=='11') &(df1[u'目前井别']=='11')]
outfile.to_csv('outfile.csv', index=False, encoding='gbk')

有时我们也会有相反的一个需求,需要删除“设计井别”、“投产井别”、“目前井别”三列数据都为11的那些行,效果如下:

代码如下:

#input.csv是那个大文件,有很多很多行
df1 = pd.read_csv(u'input.csv', encoding='gbk')
df2 = pd.read_csv(u'outfile.csv', encoding='gbk')
#加encoding=‘gbk'是因为文件中存在中文,不加可能出现乱码
index = ~df1[u'汉字井号'].isin(df2[u'汉字井号'])
df4 = df1[index]
df4.to_csv('outfile1.csv', index=False, encoding='gbk')

以上这篇pandas按若干个列的组合条件筛选数据的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python字典及字典基本操作方法详解

本文实例讲述了Python字典及字典基本操作方法。分享给大家供大家参考,具体如下: 字典是一种通过名字或者关键字引用的得数据结构,其键可以是数字、字符串、元组,这种结构类型也称之为映射。...

对python的文件内注释 help注释方法

目的: 在help(模块名)时,能够看见文件里面的注释。 首先,在文件的最开头,如果有个多行注释(三引号),就会将注释写入__DOC__变量,在help查看时,可以看见这个变量。 如果还...

python线程中同步锁详解

在使用多线程的应用下,如何保证线程安全,以及线程之间的同步,或者访问共享变量等问题是十分棘手的问题,也是使用多线程下面临的问题,如果处理不好,会带来较严重的后果,使用python多线程中...

python 排列组合之itertools

python 2.6 引入了itertools模块,使得排列组合的实现非常简单:复制代码 代码如下:import itertools  有序排列:e.g., 4个数内选2个排列...

Python进阶之全面解读高级特性之切片

Python进阶之全面解读高级特性之切片

众所周知,我们可以通过索引值(或称下标)来查找序列类型(如字符串、列表、元组…)中的单个元素,那么,如果要获取一个索引区间的元素该怎么办呢? 切片(slice)就是一种截取索引片段的技术...