精华内容
下载资源
问答
  • 将excel文件按照某一列条件筛选,划分成多个工作簿,并对工作簿命名。需要自己按自己需要稍微修改下代码进行使用。
  • pandas多个列的组合条件筛选数据

    千次阅读 2020-03-18 15:11:09
    比如,我想筛选出“设计井别”、“投产井别”、“目前井别”三数据都为11的数据,结果如下: 当然,这里的筛选条件可以根据用户需要自由调整,代码如下: # -*- coding: utf-8 -*- import pandas as pd #input....

    A文件:
    在这里插入图片描述
    比如,我想筛选出“设计井别”、“投产井别”、“目前井别”三列数据都为11的数据,结果如下:
    在这里插入图片描述
    当然,这里的筛选条件可以根据用户需要自由调整,代码如下:

    # -*- coding: utf-8 -*-
    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')
    
    展开全文
  • python对excel操作大全详解(获取某一列,某一行的值,对某一列信息筛选) 在此使用的包是pandas,因为其可以同时处理xls和xlsx两种excel文件。 使用pd读取有多个sheet的excel pandas读取的常用格式pd.read_excel...

    python对excel操作大全详解(获取某一列,某一行的值,对某一列信息筛选)

    在此使用的包是pandas,因为其可以同时处理xls和xlsx两种excel文件。

    使用pd读取有多个sheet的excel

    pandas读取的常用格式pd.read_excel(file, sheet_name),其中sheetname可以使用数字进行替代,从0开始,默认为0

    pandas写入的格式为data.to_excel('filename',sheet_name='A')

    处理的excel信息如下:

    在这里插入图片描述
    在这里插入图片描述
    代码如下:

    import pandas as pd
    path = 'G:\动力系\新建文件夹\什么.xls'
    data = pd.read_excel(path,None)#读取数据,设置None可以生成一个字典,字典中的key值即为sheet名字,此时不用使用DataFram,会报错
    print(data.keys())#查看sheet的名字
    for sh_name in data.keys():
        print('sheet_name的名字是:',sh_name)
        sh_data = pd.DataFrame(pd.read_excel(path,sh_name))#获得每一个sheet中的内容
        print(sh_data)
        
    
    

    结果:
    在这里插入图片描述

    获得某一行,某一列的值

    pd对excel的相关基本操作看下面的链接

    https://blog.csdn.net/weixin_43245453/article/details/90056884

    数据使用的是第一个sheet

    import pandas as pd
    path = 'G:\动力系\新建文件夹\什么.xls'
    data = pd.DataFrame(pd.read_excel(path))#读取数据,设置None可以生成一个字典,字典中的key值即为sheet名字,此时不用使用DataFram,会报错
    print(data.index)#获取行的索引名称
    print(data.columns)#获取列的索引名称
    print(data['姓名'])#获取列名为姓名这一列的内容
    print(data.loc[0])#获取行名为0这一行的内容
    

    结果:
    在这里插入图片描述

    对某一列的信息进行筛选

    筛选使用的是data.loc[列名称 = 提取的信息]

    假如我要提取院系下面的动力,代码如下:

    import pandas as pd
    path = 'G:\动力系\新建文件夹\什么.xls'
    data = pd.DataFrame(pd.read_excel(path))#读取数据,设置None可以生成一个字典,字典中的key值即为sheet名字,此时不用使用DataFram,会报错
    result = data.loc[data['院系'] == '动力']#获取列明为院系,内容为动力的内容
    print(result)
    

    结果如下:
    在这里插入图片描述

    展开全文
  • pandas按多个列的组合条件筛选列表

    千次阅读 2020-04-17 15:24:38
  • pandas筛选符合多个条件的方法

    万次阅读 多人点赞 2019-08-30 19:16:52
    时候,我都会面临着筛选出一张表中符合多列条件的数据,使用pandas可以快速的实现目标,在此记录下自己最常用的筛选手段


    我的这篇笔记不记录排序、分组、替换,只记录筛选功能的三种常见的方法。

    • 直接筛选(推荐)
    • 基于map方法的筛选(在方法一的基础上,十分推荐)
    • query方法(不推荐)

    所有代码均在:https://github.com/123liudong/pythonBlog/tree/master/dataDealPandas

    示例数据展示

    all_data = pd.read_csv('data.csv')
    print(all_data.info())
    print(all_data.head(100))
    

    在这里插入图片描述

    例子筛选说明

    为了简单例子,所以在使用筛选方法1和方法2的时候,直接筛选User_id=1439408和Date=NaN的数据。至于筛选方法3,因为我还不知道怎么表示NaN所以仅展示筛选User_id=1439408的数据。

    直接筛选

    • 直接使用列需要满足的条件,如果需要多个列同时满足条件,使用’&‘符号连接即可;如果只需要某一列满足条件,则使用’|'连接多个列的条件。
    # # 直接筛选方法
    some = all_data[(all_data['User_id'] == 1439408) & (all_data['Date'].isna())]
    print(some)
    

    结果:得到了User_id=1439408和Date为空的数据项

       User_id  Merchant_id  Coupon_id Discount_rate  Distance  Date_received  Date
    1  1439408         4663    11002.0        150:20       1.0     20160528.0   NaN
    2  1439408         2632     8591.0          20:1       0.0     20160217.0   NaN
    3  1439408         2632     1078.0          20:1       0.0     20160319.0   NaN
    4  1439408         2632     8591.0          20:1       0.0     20160613.0   NaN
    

    基于map的筛选

    • 这个筛选方式和直接筛选唯一不同的就是,把筛选条件给隔离出来了。
    user_requried = all_data['User_id'].map(lambda x : x==1439408)
    date_requried = all_data['Date'].map(lambda x : np.isnan(x))
    some = all_data[user_requried & date_requried]
    print(some) 
    

    结果:其中map返回的值必须是bool类型,即某一个条件。然后使用直接筛选的方式,把条件合并,最终得出筛选的结果。我认为使用此种类型的方法更加的优美。

       User_id  Merchant_id  Coupon_id Discount_rate  Distance  Date_received  Date
    1  1439408         4663    11002.0        150:20       1.0     20160528.0   NaN
    2  1439408         2632     8591.0          20:1       0.0     20160217.0   NaN
    3  1439408         2632     1078.0          20:1       0.0     20160319.0   NaN
    4  1439408         2632     8591.0          20:1       0.0     20160613.0   NaN
    

    使用query()方法筛选

    • 直接写表达式,得出想要筛选的结果。
    some = all_data.query('(User_id == 1439408)')
    print(some)
    

    结果:直接写表达式容易触发一些不必要的问题(值的类型容易出错,一些特殊值的表达困难等),所以并不建议使用这样的方法。

       User_id  Merchant_id  Coupon_id  ... Distance  Date_received        Date
    0  1439408         2632        NaN  ...      0.0            NaN  20160217.0
    1  1439408         4663    11002.0  ...      1.0     20160528.0         NaN
    2  1439408         2632     8591.0  ...      0.0     20160217.0         NaN
    3  1439408         2632     1078.0  ...      0.0     20160319.0         NaN
    4  1439408         2632     8591.0  ...      0.0     20160613.0         NaN
    5  1439408         2632        NaN  ...      0.0            NaN  20160516.0
    6  1439408         2632     8591.0  ...      0.0     20160516.0  20160613.0
    

    总结:

    • 直接筛选适用于一些较简单的筛选
    • 基于map的方法适用于较为复杂的筛选,把条件提出来实现,使得代码更加简单明了。
    • 使用query方法虽然也能实现,但写的表达式总是容易出错,所以不建议使用。

    参考资料

    • https://pandas.pydata.org/pandas-docs/stable/
    展开全文
  • pandas对多列进行条件筛选

    千次阅读 2019-09-29 15:43:06
    在SQL语句中进行条件选择使用的是and将多个条件链接起来,在pandas是可以使用&将多个条件连接起来。 但是要是注意: 每个条件要使用括号括起来。 判读是否在个集合中的时候要用isin。 ...
  • 当我们手头有两文件,一个文件很大,有很行,而另一个文件比较小,现在我们需要根据两文件的一个公共,取出大文件中同时出现在两文件中的那些行的所有数据。 数据解释如下: 文件A: 文件B: ...
  • 对于删除某一列满足条件的所有行操作暂不支持; 下面给大家介绍另外一方法,支持删除和筛选数据; data.name.isin([筛选元素]); data:原始数据集 name:列名称 筛选元素:该列满足的条件值; 操作示例 1、 删除...
  • 2、多列条件同时满足使用& 3、多列条件或 | 拓展学习 import pandas as pd import numpy as np df1 = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]), columns=['a', 'b', 'c'],index=['i1','i...
  • 核心代码  ... data = pd.DataFrame[(条件1) & (条件2).......] import pandas as pd job_info = pd.read_csv('job_info.csv',header=None,names=('公司','岗位','工作地点','工资','发布日期
  • 一般情况下的单条件筛选,数组的filter方法就能够满足需求,本文讨论的重点是多条件下的复合筛选,并出了几相关知识点。 // 这是例子中的被筛选数组 var aim = [ {name:'Anne', age: 23, gen...
  • pandas按若干个列的组合条件筛选数据

    万次阅读 多人点赞 2017-11-30 13:27:57
    比如,我想筛选出“设计井别”、“投产井别”、“目前井别”三数据都相等的数据,结果如下: 当然,这里的筛选条件可以根据用户需要自由调整,代码如下: # -*- coding: utf-8 -*- """ Created on Wed Nov 29 10:...
  • pandas 根据筛选条件对指定excel进行筛选导入需要筛选的excel和筛选条件筛选的表格A思路结果 这两天老师要求筛选一下最近几年学院发表的文章,从图书馆那要了份数据量较大的excel,将该excel分成学生文章、老师...
  • excel如按某一列拆分成多个工作表(支持多列),或多个Excel文件,或按某几列拆分成多个文件。 使用这个在线工具,无需vba,不用复杂的透视表,地址:http://www.excelfb.com/,点击:(按指定列)拆分成多个表 ...
  • Py之pandas:利用isin函数对dataframe格式数据按照多个字段的条件筛选 目录 利用isin函数对dataframe格式数据按照多个字段的条件筛选 代码设计 输出结果 利用isin函数对dataframe格式数据按照...
  • 在工作和学习中,我们经常要和Excl打交道,对数据进行一些简单和复杂的处理,可以说Office三件套是业界公认的“神器”级别...提取Excl两列(列)数据相同的数据等等这样要对Excl数据进行一列或者列的数据处理(提取...
  • 销售需求丨多列判定筛选(

    千次阅读 2020-06-12 08:05:22
    后来在写关于活动月份环比的时候,因为列值不唯一,需要提供多个值来解决筛选情况,当时使用的是“IN”。 本期呢,白茶决定分享一下,如果我的限定条件,不只是一列,而是很多列,该怎么操作呢? 这是群里小伙伴提...
  • 表所有数据 查询userName为abc或xyz的 ...省级管理员发送区县全部的,根据接收对象地区号作为条件查询  * 3.省级管理员发送全省全部的,根据接收对象类型为"all"查询  * 4.省级管...
  • excel多条件筛选公式

    千次阅读 2015-02-04 19:49:02
    实现用公式多条件筛选数据,比如有很多个工作簿,每个工作簿都有以下数据。   A B C D 1 0 1 2 44 2 1 2 3 55 3 2 3 4 66 找出A列为0,B列为1,C列为2的那行,也就是第行,输出D数据44。 最后...
  • // 指定返回 if ($keys) { $tmp = array(); foreach ($keys as $key) { $tmp[$key] = $v[$key]; } } else { $tmp = $v; } // 指定索引 if (isset($index_key)) { $result[$v[$index_key]] = $tmp; ...
  • 总结一下Filter函数的使用。 Staff表数据如下: 1. 使用多个FILTER实现嵌套筛选
  • 需求 从excel读取数据用DataFrame存储, 1. 逐行处理,当指定多列的值...每个条件语句要用();用df.max函数;对于赋值不来自原有字段的,先赋值为数字,便于后续计算,再按条件修改 #增加字段rs_flag,rs_value .
  • data = pd.read_excel(‘XX.xls’) datashaixuan = data[data[‘第一列列名’].isin(‘特定值’)]
  • 使用Python中的pands包,按照指定条件,某一列,把一个Excel文件拆分为多个Excel数据文件
  • 、join()函数的用法 ...上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串 返回值:返回一个以分隔符sep连接各个元素后生成的字符串 二、结合series.str.contains()使用筛选数据 ...
  • 请教下各位高手,SQL中group by 功能用C++如何实现啊? 小弟想做的是多列数据筛选的功能,比如一个结构体中包含成员A,B,C,从一个结构体数组中筛选出A,B,C不完全相同的数据,非常谢谢!
  • 通过特定的值去筛选 import pandas as pd import numpy as np a=np.array([['北京','北方','一线','非沿海'],['杭州','南方','二线','非沿海'],['深圳','南方','一线','沿海'],['烟台','北方','三线','沿海']]) ...
  • js,根据一个数组,遍历对象数组,进行多条件并列的筛选或过滤1. 筛选是否2. 筛选特定值 多条件并列:某条数据的两以上的属性,同时满足筛选条件 1. 筛选是否 业务场景:返回一个对象数组,在UI界面勾选了...
  • now, show u the code: # -*- coding: utf-8 -*- """ Created on Fri Nov 1 09:53:30 2019 @author: lanxuxml 应用场景: 包含多个sheet的Excel 需要按列筛选出来另存为其它文件 """ import pandas as pd split_...
  • EXCEL一列索引项筛选数据

    千次阅读 2017-07-10 18:40:25
    2把你需要查找删除的号码复制到空白的一列 3 选择目标列 4 选择条件格式,新建规则 5 使用公式确定要设置格式的单元格 6 输入公式=countif($C$1:$C$15,$A1)>0 ,$C$1:$C$1

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 132,392
精华内容 52,956
关键字:

一列筛选多个条件